From 6bb501f14b25222cc3d6abeb99a77fe968825450 Mon Sep 17 00:00:00 2001 From: Kaelig Deloumeau-Prigent Date: Sat, 21 Feb 2026 00:09:33 -0800 Subject: [PATCH 1/4] Add macOS release builds using native runners Darwin targets can't be cross-compiled from Linux, so build them natively on macOS runners (macos-13 for x86_64, macos-latest for aarch64). This restores the missing try-darwin-*.tar.gz release assets. Fixes #14 Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5be7811..8fd04c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,11 +53,38 @@ jobs: path: result/bin/try retention-days: 7 + build-macos: + environment: OpenSource + name: Build macOS (${{ matrix.arch }}) + if: startsWith(github.ref, 'refs/tags/') + runs-on: ${{ matrix.runner }} + strategy: + matrix: + include: + - runner: macos-13 + arch: x86_64 + - runner: macos-latest + arch: aarch64 + + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Build + run: make + + - name: Upload build artifact + uses: actions/upload-artifact@v5 + with: + name: try-darwin-${{ matrix.arch }} + path: dist/try + retention-days: 7 + release: environment: OpenSource name: Create Release if: startsWith(github.ref, 'refs/tags/') - needs: cross-compile + needs: [cross-compile, build-macos] runs-on: ubuntu-latest permissions: contents: write From 3ba27e27fec7646f2ec846cf07e44ae75821b8a8 Mon Sep 17 00:00:00 2001 From: Kaelig Deloumeau-Prigent Date: Sat, 21 Feb 2026 00:15:11 -0800 Subject: [PATCH 2/4] Fix Linux artifact naming to match README convention The cross-compile job was producing try-{arch}-{os} names (e.g. try-x86_64-linux) but the README expects try-{os}-{arch} (e.g. try-linux-x86_64). This naming regression was introduced when the workflows were consolidated into ci.yml. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8fd04c4..fb787f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - target: [x86_64-linux, aarch64-linux] + include: + - target: x86_64-linux + artifact: try-linux-x86_64 + - target: aarch64-linux + artifact: try-linux-aarch64 steps: - name: Checkout code @@ -49,7 +53,7 @@ jobs: - name: Upload build artifact uses: actions/upload-artifact@v5 with: - name: try-${{ matrix.target }} + name: ${{ matrix.artifact }} path: result/bin/try retention-days: 7 From 5e5e34bbe1b984a531354f4653e39e5dd0348d81 Mon Sep 17 00:00:00 2001 From: Kaelig Deloumeau-Prigent Date: Sat, 21 Feb 2026 00:30:08 -0800 Subject: [PATCH 3/4] Fix macOS x86_64 build: cross-compile from Apple Silicon runner macos-13 (the last Intel runner) has been retired from GitHub Actions. Instead, cross-compile for x86_64 on the Apple Silicon runner using clang -arch x86_64, which works out of the box with the macOS SDK. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb787f6..8fec93f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,21 +61,21 @@ jobs: environment: OpenSource name: Build macOS (${{ matrix.arch }}) if: startsWith(github.ref, 'refs/tags/') - runs-on: ${{ matrix.runner }} + runs-on: macos-latest strategy: matrix: include: - - runner: macos-13 - arch: x86_64 - - runner: macos-latest - arch: aarch64 + - arch: x86_64 + cc: clang -arch x86_64 + - arch: aarch64 + cc: clang steps: - name: Checkout code uses: actions/checkout@v5 - name: Build - run: make + run: make CC="${{ matrix.cc }}" - name: Upload build artifact uses: actions/upload-artifact@v5 From e9a85a1892b7f8275024dc08b82a3de85e51a88f Mon Sep 17 00:00:00 2001 From: Kaelig Deloumeau-Prigent Date: Sat, 21 Feb 2026 00:39:47 -0800 Subject: [PATCH 4/4] Revert Linux artifact naming change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep cross-compile job unchanged — the naming inconsistency is a separate concern from the missing macOS builds. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8fec93f..c9d9fb5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,11 +34,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - include: - - target: x86_64-linux - artifact: try-linux-x86_64 - - target: aarch64-linux - artifact: try-linux-aarch64 + target: [x86_64-linux, aarch64-linux] steps: - name: Checkout code @@ -53,7 +49,7 @@ jobs: - name: Upload build artifact uses: actions/upload-artifact@v5 with: - name: ${{ matrix.artifact }} + name: try-${{ matrix.target }} path: result/bin/try retention-days: 7