From 959f7dfad6010863d0d22b2ad0c77db89f28892e Mon Sep 17 00:00:00 2001 From: Brad Cowie Date: Sat, 27 Dec 2025 20:24:55 +1300 Subject: [PATCH 1/4] feat(ci): upload build artifacts to github release --- .github/workflows/build.yml | 103 +++++++++++++++++++++++------------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ec8dc2172..fac2b108a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: env: IN_PIPELINE: true runs-on: ${{ matrix.os }} - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' strategy: matrix: type: [ubuntu-x64, ubuntu-x86, armv7, aarch64] @@ -48,19 +48,21 @@ jobs: args: "--locked --release" strip: true toolchain: stable - - name: Build tar.gz for homebrew installs - if: matrix.type == 'ubuntu-x64' - run: | - tar czf ${{ matrix.name }}.tar.gz -C target/x86_64-unknown-linux-musl/release rustscan - - uses: actions/upload-artifact@v4 + - name: Upload artifacts + uses: houseabsolute/actions-rust-release@v0 with: - name: ${{ matrix.name }} - path: ${{ matrix.path }} - - uses: actions/upload-artifact@v4 - if: matrix.type == 'ubuntu-x64' + executable-name: rustscan + target: ${{ matrix.target }} + archive-name: ${{ matrix.name }} + changes-file: "" + release-tag-prefix: "disabled" + - name: Publish artifacts to GitHub release + if: github.ref_type == 'tag' + uses: softprops/action-gh-release@v2 with: - name: ${{ matrix.name }}.tar.gz - path: ${{ matrix.name }}.tar.gz + files: | + *.tar.gz + *.zip build-deb: needs: [build-nix] runs-on: ubuntu-latest @@ -83,12 +85,18 @@ jobs: with: name: rustscan.deb path: ./target/x86_64-unknown-linux-musl/debian/* + - name: Publish artifacts to GitHub release + if: github.ref_type == 'tag' + uses: softprops/action-gh-release@v2 + with: + files: | + ./target/x86_64-unknown-linux-musl/debian/*.deb build-macos: env: IN_PIPELINE: true runs-on: macos-latest - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' steps: - uses: actions/checkout@v4 - name: Cache cargo & target directories @@ -101,23 +109,27 @@ jobs: args: "--locked --release" strip: true toolchain: stable - - name: Build tar.gz for homebrew installs - run: | - tar czf x86_64-macos-rustscan.tar.gz -C target/x86_64-apple-darwin/release rustscan - - uses: actions/upload-artifact@v4 + - name: Upload artifacts + uses: houseabsolute/actions-rust-release@v0 with: - name: x86_64-macos-rustscan - path: target/x86_64-apple-darwin/release/rustscan - - uses: actions/upload-artifact@v4 + executable-name: rustscan + target: x86_64-apple-darwin + archive-name: x86_64-macos-rustscan + changes-file: "" + release-tag-prefix: "disabled" + - name: Publish artifacts to GitHub release + if: github.ref_type == 'tag' + uses: softprops/action-gh-release@v2 with: - name: x86_64-macos-rustscan.tar.gz - path: x86_64-macos-rustscan.tar.gz - + files: | + *.tar.gz + *.zip + build-macos-aarch64: env: IN_PIPELINE: true runs-on: macos-latest - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' steps: - uses: actions/checkout@v4 - name: Cache cargo & target directories @@ -130,23 +142,27 @@ jobs: args: "--locked --release" strip: true toolchain: stable - - name: Build tar.gz for homebrew installs - run: | - tar czf aarch64-macos-rustscan.tar.gz -C target/aarch64-apple-darwin/release rustscan - - uses: actions/upload-artifact@v4 + - name: Upload artifacts + uses: houseabsolute/actions-rust-release@v0 with: - name: aarch64-macos-rustscan - path: target/aarch64-apple-darwin/release/rustscan - - uses: actions/upload-artifact@v4 + executable-name: rustscan + target: aarch64-apple-darwin + archive-name: aarch64-macos-rustscan + changes-file: "" + release-tag-prefix: "disabled" + - name: Publish artifacts to GitHub release + if: github.ref_type == 'tag' + uses: softprops/action-gh-release@v2 with: - name: aarch64-macos-rustscan.tar.gz - path: aarch64-macos-rustscan.tar.gz + files: | + *.tar.gz + *.zip build-windows: env: IN_PIPELINE: true runs-on: ${{ matrix.os }} - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' strategy: matrix: type: [windows-x64, windows-x86] @@ -169,11 +185,22 @@ jobs: uses: houseabsolute/actions-rust-cross@v0 with: command: build - target: ${{ matrix.target }} + target: ${{ matrix.target }} args: "--locked --release" strip: true toolchain: stable - - uses: actions/upload-artifact@v4 + - name: Upload artifacts + uses: houseabsolute/actions-rust-release@v0 + with: + executable-name: rustscan + target: ${{ matrix.target }} + archive-name: ${{ matrix.name }} + changes-file: "" + release-tag-prefix: "disabled" + - name: Publish artifacts to GitHub release + if: github.ref_type == 'tag' + uses: softprops/action-gh-release@v2 with: - name: ${{ matrix.name }} - path: ${{ matrix.path }} + files: | + *.tar.gz + *.zip From ab4ea8a4f126d323e2f18fc101cec3a846658d96 Mon Sep 17 00:00:00 2001 From: Brad Cowie Date: Mon, 29 Dec 2025 22:32:20 +1300 Subject: [PATCH 2/4] feat(ci): remove deprecated github action --- .github/workflows/test.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 527f907c9..c94946d2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,11 +18,7 @@ jobs: uses: actions/checkout@v4 - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true + run: rustup toolchain install stable --profile minimal - uses: taiki-e/install-action@nextest - uses: Swatinem/rust-cache@v2 From a38c74d679a18461218d3f1596714d5fe67ec2b8 Mon Sep 17 00:00:00 2001 From: Brad Cowie Date: Mon, 29 Dec 2025 22:53:07 +1300 Subject: [PATCH 3/4] feat(ci): fix dependabot auto-merge workflow --- .github/workflows/dependabot.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index 7f9508bde..a21a8dc24 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -1,9 +1,14 @@ name: Dependabot Auto-Merge +on: pull_request + +permissions: + contents: write + pull-requests: write jobs: dependabot: runs-on: ubuntu-latest - if: ${{ github.actor == 'dependabot[bot]' }} + if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'bee-san/RustScan' steps: - name: Enable auto-merge for Dependabot PRs run: | From 2f7026c0f2de18f96825c88178d37820808695ed Mon Sep 17 00:00:00 2001 From: Brad Cowie Date: Tue, 30 Dec 2025 11:23:18 +1300 Subject: [PATCH 4/4] build(deps): bump github actions to latest version --- .github/workflows/build.yml | 20 ++++++++++---------- .github/workflows/test.yml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fac2b108a..4a221b0e9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,11 +37,11 @@ jobs: path: target/aarch64-unknown-linux-gnu/release/rustscan pkg_config_path: /usr/lib/x86_64-linux-gnu/pkgconfig steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Cache cargo & target directories uses: Swatinem/rust-cache@v2 - name: Build binary - uses: houseabsolute/actions-rust-cross@v0 + uses: houseabsolute/actions-rust-cross@v1 with: command: build target: ${{ matrix.target }} @@ -69,7 +69,7 @@ jobs: env: IN_PIPELINE: true steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install cargo-deb run: cargo install -f cargo-deb - uses: awalsh128/cache-apt-pkgs-action@v1 @@ -81,7 +81,7 @@ jobs: - name: Deb Build run: cargo deb --target=x86_64-unknown-linux-musl - name: Upload Deb Artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: rustscan.deb path: ./target/x86_64-unknown-linux-musl/debian/* @@ -98,11 +98,11 @@ jobs: runs-on: macos-latest if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Cache cargo & target directories uses: Swatinem/rust-cache@v2 - name: Build binary - uses: houseabsolute/actions-rust-cross@v0 + uses: houseabsolute/actions-rust-cross@v1 with: command: build target: x86_64-apple-darwin @@ -131,11 +131,11 @@ jobs: runs-on: macos-latest if: github.ref == 'refs/heads/master' || github.ref_type == 'tag' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Cache cargo & target directories uses: Swatinem/rust-cache@v2 - name: Build binary - uses: houseabsolute/actions-rust-cross@v0 + uses: houseabsolute/actions-rust-cross@v1 with: command: build target: aarch64-apple-darwin @@ -178,11 +178,11 @@ jobs: name: x86-windows-rustscan.exe path: target\i686-pc-windows-msvc\release\rustscan.exe steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Cache cargo & target directories uses: Swatinem/rust-cache@v2 - name: Build binary - uses: houseabsolute/actions-rust-cross@v0 + uses: houseabsolute/actions-rust-cross@v1 with: command: build target: ${{ matrix.target }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c94946d2a..443aec880 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install stable toolchain run: rustup toolchain install stable --profile minimal @@ -24,7 +24,7 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Install Just - uses: extractions/setup-just@v2 + uses: extractions/setup-just@v3 - name: Run just run: just test