From f35042f22e15af1ff153a67016875d96eba9e115 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:34:54 -0800 Subject: [PATCH 1/6] add apple targets + sccache + cross-rs to release workflow --- .github/workflows/release.yml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 659dcb1d..e0dee76e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -# this workflow is modified from reth: +# this workflow is adapted from reth: # https://github.com/paradigmxyz/reth/blob/main/.github/workflows/release.yml name: release @@ -58,6 +58,7 @@ jobs: name: build release runs-on: ${{ matrix.configs.os }} needs: extract-version + continue-on-error: ${{ matrix.configs.allow_fail }} strategy: fail-fast: true matrix: @@ -70,6 +71,14 @@ jobs: os: ubuntu-24.04 profile: release allow_fail: false + - target: x86_64-apple-darwin + os: macos-14 + profile: release + allow_fail: false + - target: aarch64-apple-darwin + os: macos-14 + profile: release + allow_fail: false build: - command: build binary: contender @@ -79,6 +88,21 @@ jobs: - uses: dtolnay/rust-toolchain@stable with: target: ${{ matrix.configs.target }} + - uses: mozilla-actions/sccache-action@v0.0.9 + - name: Install cross main + id: cross_main + run: | + cargo install cross --git https://github.com/cross-rs/cross + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + + - name: Apple M-series setup + if: matrix.configs.target == 'aarch64-apple-darwin' + run: | + echo "SDKROOT=$(xcrun -sdk macosx --show-sdk-path)" >> $GITHUB_ENV + echo "MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)" >> $GITHUB_ENV + - name: Build contender run: cargo build --verbose --workspace --release - name: Move binary From db24af8777a03a27e1caf4caf74129614228db89 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Wed, 14 Jan 2026 15:57:22 -0800 Subject: [PATCH 2/6] sanitize gh ref for dry run builds --- .github/workflows/release.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0dee76e..a87dc3e0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Extract version - run: echo "VERSION=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT + # extract version from github ref (tag if official release, branch if dry run) + # sanitizes ref by replacing `/` with `-`, to avoid errors downstream + run: | + vv="${GITHUB_REF_NAME}" + vv="${vv//\//-}" + echo "VERSION=$vv" >> $GITHUB_OUTPUT id: extract_version outputs: VERSION: ${{ steps.extract_version.outputs.VERSION }} From aa0cdc5a1f5c3980b2d12760917f11cbf6e67223 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Wed, 14 Jan 2026 17:35:55 -0800 Subject: [PATCH 3/6] add darwin rows back to release binaries table --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a87dc3e0..698921b7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -215,6 +215,9 @@ jobs: |:---:|:---:|:---:|:---| | | x86_64 | [contender-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz.asc) | | | aarch64 | [contender-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz.asc) | + | | x86_64 | [contender-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz.asc) | + | | aarch64 | [contender-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/contender-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz.asc) | + ENDBODY ) assets=() From 825630158a5339535fab47fd394500466e14168b Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Thu, 15 Jan 2026 15:20:21 -0800 Subject: [PATCH 4/6] remove cross-rs (for now), add target-building to cargo build commands --- .github/workflows/release.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 698921b7..4fc656ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,10 +94,6 @@ jobs: with: target: ${{ matrix.configs.target }} - uses: mozilla-actions/sccache-action@v0.0.9 - - name: Install cross main - id: cross_main - run: | - cargo install cross --git https://github.com/cross-rs/cross - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true @@ -109,11 +105,12 @@ jobs: echo "MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)" >> $GITHUB_ENV - name: Build contender - run: cargo build --verbose --workspace --release + run: cargo build --verbose --workspace --release --target ${{ matrix.configs.target }} + - name: Move binary run: | mkdir artifacts - mv "target/${{ matrix.configs.profile }}/${{ matrix.build.binary }}" ./artifacts + mv "target/${{ matrix.configs.target }}/${{ matrix.configs.profile }}/${{ matrix.build.binary }}" ./artifacts - name: Configure GPG and create artifacts env: From e25605e75aec2663a08a1cdf5d5132be10044112 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Thu, 15 Jan 2026 16:09:45 -0800 Subject: [PATCH 5/6] use ubuntu-arm builder for aarch64 bins --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4fc656ca..5556209f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: profile: release allow_fail: false - target: aarch64-unknown-linux-gnu - os: ubuntu-24.04 + os: ubuntu-24.04-arm profile: release allow_fail: false - target: x86_64-apple-darwin From 1ea74d08904f2ac6e41e28a7673ff96578de685f Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Fri, 16 Jan 2026 10:19:36 -0800 Subject: [PATCH 6/6] use ubuntu 22 runner; improve glibc compat in release bins --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5556209f..3da1d53c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,7 +69,7 @@ jobs: matrix: configs: - target: x86_64-unknown-linux-gnu - os: ubuntu-24.04 + os: ubuntu-22.04 profile: release allow_fail: false - target: aarch64-unknown-linux-gnu