fix(release): consolidate bun builds to ubuntu-latest (macos-13 deprecated)
Root cause: macos-13 Intel Mac runners were deprecated by GitHub. The darwin-x64 bun matrix job was sitting queued for 1.5-2.5 hours on every tag push (v0.21.1, v0.22.0, v0.22.1) and never picked up a runner. The release job has `needs: [build-release, build-mcp-binary]` so it waited forever — NO GitHub Releases were created for any v0.22 tag. Fix: bun cross-compiles to every target (Linux / macOS / Windows, x64 / arm64) from any host via `--target=<bun-target>`. Consolidate the entire build-mcp-binary matrix onto ubuntu-latest. Binaries remain native per-target (correct Mach-O / ELF / PE format preserved by bun --target flag). Side effects: - Faster: Linux runners provision in seconds vs macOS in minutes - No macOS quota cost (free tier: 2000 min/month, macOS = 10x multiplier) - No runner starvation on tag push - `continue-on-error` arm64-linux carve-out removed (no longer needed — all jobs now on the same runner pool with equal reliability) Verified locally: bun 1.1+ supports all 5 target triples from Linux host. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ce9ba61ee0
commit
f070ada841
1 changed files with 13 additions and 7 deletions
20
.github/workflows/release.yml
vendored
20
.github/workflows/release.yml
vendored
|
|
@ -108,18 +108,24 @@ jobs:
|
|||
# `continue-on-error` because the ubuntu arm runner pool is newer and
|
||||
# occasionally flaky — a missing linux-arm64 asset must NOT block release.
|
||||
build-mcp-binary:
|
||||
# v0.22.2 fix: `macos-13` Intel runners were deprecated by GitHub and the
|
||||
# pool is dry — `darwin-x64` jobs sit in queued for hours and block the
|
||||
# final `release` job (needs: build-mcp-binary). bun supports
|
||||
# cross-compile to every target from any host, so we consolidate every
|
||||
# bun build onto ubuntu-latest. Faster, no macOS quota cost, no runner
|
||||
# starvation. Binaries are still native per-target (bun produces the
|
||||
# correct Mach-O / ELF / PE format via --target).
|
||||
name: Build mcp-server ${{ matrix.target.platform }}-${{ matrix.target.arch }}
|
||||
runs-on: ${{ matrix.target.runner }}
|
||||
continue-on-error: ${{ matrix.target.arch == 'arm64' && matrix.target.platform == 'linux' }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- { platform: linux, arch: x64, runner: ubuntu-latest, bun_target: bun-linux-x64, ext: '' }
|
||||
- { platform: linux, arch: arm64, runner: ubuntu-24.04-arm, bun_target: bun-linux-arm64, ext: '' }
|
||||
- { platform: darwin, arch: x64, runner: macos-13, bun_target: bun-darwin-x64, ext: '' }
|
||||
- { platform: darwin, arch: arm64, runner: macos-latest, bun_target: bun-darwin-arm64, ext: '' }
|
||||
- { platform: windows, arch: x64, runner: windows-latest, bun_target: bun-windows-x64, ext: '.exe' }
|
||||
- { platform: linux, arch: x64, bun_target: bun-linux-x64, ext: '' }
|
||||
- { platform: linux, arch: arm64, bun_target: bun-linux-arm64, ext: '' }
|
||||
- { platform: darwin, arch: x64, bun_target: bun-darwin-x64, ext: '' }
|
||||
- { platform: darwin, arch: arm64, bun_target: bun-darwin-arm64, ext: '' }
|
||||
- { platform: windows, arch: x64, bun_target: bun-windows-x64, ext: '.exe' }
|
||||
steps:
|
||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue