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