diff --git a/.github/workflows/build-macos-release.yml b/.github/workflows/build-macos-release.yml index c39cd06787..e64884b870 100644 --- a/.github/workflows/build-macos-release.yml +++ b/.github/workflows/build-macos-release.yml @@ -21,15 +21,17 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" - # Cross-compile both darwin/amd64 and darwin/arm64 on macos-13. + # Cross-compile both darwin/amd64 and darwin/arm64 from Linux. The build + # uses CGO_ENABLED=0 + GOOS=darwin GOARCH=$arch — pure Go, no Darwin + # toolchain required. We run on the self-hosted `lux-build` ARC pool + # rather than `macos-13` (which has long GitHub-hosted queues) to keep + # the release pipeline unblocked. build-mac: strategy: fail-fast: false matrix: goarch: [amd64, arm64] - # The type of runner that the job will run on (GH-hosted arm64 macos forbidden). - runs-on: macos-13 + runs-on: lux-build permissions: id-token: write contents: read @@ -63,7 +65,10 @@ jobs: run: | # CLI expects: node-macos-{arch}-{version}.zip containing build/luxd mkdir -p build - 7z a "node-macos-${{ matrix.goarch }}-${TAG}.zip" build/luxd + if ! command -v zip >/dev/null 2>&1; then + sudo apt-get update && sudo apt-get install -y zip + fi + zip "node-macos-${{ matrix.goarch }}-${TAG}.zip" build/luxd env: TAG: ${{ env.TAG }}