ci(build): run macOS x86_64 lane on self-hosted c2pool-mac-intel runner (#42) - #100
Merged
Conversation
Convert the single arm64-only macos job into an arch matrix: - arm64 -> GitHub-hosted macos-14 (unchanged) - x86_64 -> self-hosted [self-hosted, macOS, X64, c2pool-mac-intel] Activates the macpro-intel-204 self-hosted runner so the macOS x86_64 lane is covered by native CI, resolving the GitHub-hosted macos-13 Intel-runner starvation (#42). Packaging (tag-only) is parameterized by arch and now derives the Homebrew prefix via brew --prefix so it is correct on both Apple Silicon (/opt/homebrew) and Intel (/usr/local).
The self-hosted Intel runner (macpro-intel-204) runs the Actions service from launchd, whose PATH omits Homebrew at /usr/local/bin, so the dep step failed with brew exit 127 (#100). Add a Set up Homebrew PATH step that appends the real brew prefix to GITHUB_PATH so every later step (cmake configure, brew --prefix packaging) resolves brew. GitHub-hosted arm64 keeps /opt/homebrew; fail closed if brew is absent entirely.
frstrtr
added a commit
that referenced
this pull request
Jun 22, 2026
Repoint the release matrix's macOS x86_64 cell from GitHub-hosted macos-13 to the self-hosted Intel runner (macpro-intel-204), mirroring build.yml. Port the launchd Homebrew-PATH guard (#100) so brew resolves under the launchd service PATH. arm64 stays on macos-14. Revert: restore 'runner: macos-13' and drop the Set up Homebrew PATH step.
frstrtr
added a commit
that referenced
this pull request
Jun 22, 2026
) * ci(release): build macOS x86_64 packages on self-hosted c2pool-mac-intel Repoint the release matrix's macOS x86_64 cell from GitHub-hosted macos-13 to the self-hosted Intel runner (macpro-intel-204), mirroring build.yml. Port the launchd Homebrew-PATH guard (#100) so brew resolves under the launchd service PATH. arm64 stays on macos-14. Revert: restore 'runner: macos-13' and drop the Set up Homebrew PATH step. * ci(release): fix macOS universal lipo merge to resolve nested per-arch artifact dirs download-artifact unpacks each per-arch package one level deep (arm64/<pkgdir>/c2pool-<coin>); lipo referenced arm64/c2pool-<coin> directly and failed with 'No such file or directory'. Resolve ARM_SRC and X86_SRC to the staged package dirs so the merge finds both inputs.
frstrtr
added a commit
that referenced
this pull request
Jun 23, 2026
) * ci(release): build macOS x86_64 packages on self-hosted c2pool-mac-intel Repoint the release matrix's macOS x86_64 cell from GitHub-hosted macos-13 to the self-hosted Intel runner (macpro-intel-204), mirroring build.yml. Port the launchd Homebrew-PATH guard (#100) so brew resolves under the launchd service PATH. arm64 stays on macos-14. Revert: restore 'runner: macos-13' and drop the Set up Homebrew PATH step. * ci(release): fix macOS universal lipo merge to resolve nested per-arch artifact dirs download-artifact unpacks each per-arch package one level deep (arm64/<pkgdir>/c2pool-<coin>); lipo referenced arm64/c2pool-<coin> directly and failed with 'No such file or directory'. Resolve ARM_SRC and X86_SRC to the staged package dirs so the merge finds both inputs.
frstrtr
added a commit
that referenced
this pull request
Jun 24, 2026
…rk fallback Point the Windows job at the self-hosted runner (VM217, labels self-hosted/Windows/X64/c2pool-build) for internal-branch PRs and pushes; fork PRs fall back to GitHub-hosted windows-2022 so untrusted code never executes on the self-hosted box. Completes the self-hosted build fleet (Linux pending VM905 runner registration; macOS x86_64 already self-hosted via #100). Conan cache retained.
frstrtr
added a commit
that referenced
this pull request
Jun 24, 2026
…rk fallback Point the Windows job at the self-hosted runner (VM217, labels self-hosted/Windows/X64/c2pool-build) for internal-branch PRs and pushes; fork PRs fall back to GitHub-hosted windows-2022 so untrusted code never executes on the self-hosted box. Completes the self-hosted build fleet (Linux pending VM905 runner registration; macOS x86_64 already self-hosted via #100). Conan cache retained.
frstrtr
added a commit
that referenced
this pull request
Jun 25, 2026
…rk fallback Point the Windows job at the self-hosted runner (VM217, labels self-hosted/Windows/X64/c2pool-build) for internal-branch PRs and pushes; fork PRs fall back to GitHub-hosted windows-2022 so untrusted code never executes on the self-hosted box. Completes the self-hosted build fleet (Linux pending VM905 runner registration; macOS x86_64 already self-hosted via #100). Conan cache retained.
frstrtr
added a commit
that referenced
this pull request
Jun 25, 2026
…rk fallback Point the Windows job at the self-hosted runner (VM217, labels self-hosted/Windows/X64/c2pool-build) for internal-branch PRs and pushes; fork PRs fall back to GitHub-hosted windows-2022 so untrusted code never executes on the self-hosted box. Completes the self-hosted build fleet (Linux pending VM905 runner registration; macOS x86_64 already self-hosted via #100). Conan cache retained.
frstrtr
added a commit
that referenced
this pull request
Jun 26, 2026
…rk fallback Point the Windows job at the self-hosted runner (VM217, labels self-hosted/Windows/X64/c2pool-build) for internal-branch PRs and pushes; fork PRs fall back to GitHub-hosted windows-2022 so untrusted code never executes on the self-hosted box. Completes the self-hosted build fleet (Linux pending VM905 runner registration; macOS x86_64 already self-hosted via #100). Conan cache retained.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Convert the single arm64-only
macosjob inbuild.ymlinto an arch matrix:arm64macos-14x86_64[self-hosted, macOS, X64, c2pool-mac-intel]This activates the idle
macpro-intel-204self-hosted Intel runner that was stood up 2026-06-16, putting the macOS x86_64 lane on a native runner and resolving the GitHub-hostedmacos-13Intel-runner starvation (#42). The arm64 GitHub-hosted lane is untouched.Tag-only packaging is parameterized by
${{ matrix.arch }}and derives the Homebrew prefix viabrew --prefix, so it is correct on both Apple Silicon (/opt/homebrew) and Intel (/usr/local).Fork-PR RCE gate — CONFIRMED in place
Required before exposing a self-hosted runner on a public repo. Verified via the API prior to opening this PR:
all_external_contributorsis the strictest setting — "Require approval for all outside collaborators." No untrusted fork code can reach the self-hosted runner without a maintainer first approving the workflow run.Proof
This PR's own CI exercises
build.ymlonpull_request. A green macOS x86_64 check running on the self-hosted runner (job picked up, busy then success) is the live proof the lane works. Runner-pickup evidence to follow in a PR comment.Notes
.github/workflows/build.ymlonly.