chore(ci): switch to github-hosted runners#814
Conversation
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 # zizmor: ignore[cache-poisoning] save-if gates writes to main; PRs read-only | ||
| with: | ||
| cache: rust | ||
| save-if: ${{ github.ref == 'refs/heads/main' }} |
There was a problem hiding this comment.
Linux CI lacks shared cache
Medium Severity
The build and test-linux jobs both use Swatinem/rust-cache without a shared-key, so each job gets a separate Actions cache entry. That breaks the shared Rust target/ cache those jobs had when both used the same Namespace cache tag, so test-linux often recompiles from scratch instead of reusing build output and can hit its 30-minute limit.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 100a168. Configure here.
There was a problem hiding this comment.
Fixed by giving the Ubuntu build and test-linux rust-cache steps a shared linux key while keeping macOS on its own key. Re-ran actionlint and git diff --check.
Greptile SummaryThis PR migrates all CI and release workflows from Namespace self-hosted runner labels to standard GitHub-hosted runners (
Confidence Score: 4/5Safe to merge; the only gap is a missing Rust cache on the release-plz-release job, which slows release-day builds but does not break them. The .github/workflows/release-plz.yml — the release-plz-release job is missing a rust-cache step that all other migrated Rust-compiling jobs received Important Files Changed
|
100a168 to
ecb4d8f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ecb4d8f. Configure here.
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 # zizmor: ignore[cache-poisoning] save-if gates writes to main; PRs read-only | ||
| with: | ||
| cache: rust | ||
| save-if: ${{ github.ref == 'refs/heads/main' }} |
There was a problem hiding this comment.
Bench cache not shared with CI
Medium Severity
The new Swatinem/rust-cache steps omit shared-key: linux even though CI’s build and test-linux jobs use that key and the removed Namespace profiles all pointed at the same aube-rust-linux volume. With save-if limiting writes to main, pull-request bench runs won’t restore CI’s warm target/ tree and always pay for a cold release build, which can exceed the pr-bench job’s 25-minute limit.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit ecb4d8f. Configure here.
There was a problem hiding this comment.
Fixed by adding shared-key: linux to the bench-pr, bench-refresh, and docs rust-cache steps so they restore the same Linux cache family as CI. Re-ran actionlint and git diff --check.
| upload-assets-musl-arm64: | ||
| needs: generate-primer | ||
| runs-on: namespace-profile-endev-linux-amd64;overrides.cache-tag=aube-rust-linux | ||
| runs-on: ubuntu-latest |
There was a problem hiding this comment.
Release jobs lack rust caching
Medium Severity
upload-assets-musl-arm64 and upload-assets-pgo switched from Namespace runner labels that mounted the shared aube-rust-linux / aube-rust-linux-arm64 cache volumes, but unlike CI, bench, and docs they never gained a Swatinem/rust-cache step. Release builds therefore always compile from scratch on GitHub-hosted runners, increasing the chance of timeouts or OOM during cross/PGO work.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit ecb4d8f. Configure here.
There was a problem hiding this comment.
Fixed by adding rust-cache steps to the release musl-arm64 and PGO jobs, using linux for amd64 Linux, linux-arm64 for native aarch64 Linux, and a separate macOS key. Also updated the stale macOS target comment. Re-ran actionlint and git diff --check.
ecb4d8f to
6b94faf
Compare
|
Addressed the latest Greptile/Cursor feedback: added the missing release-plz-pr cache step, shared Linux cache keys for bench/docs jobs, release cache steps for musl-arm64 and PGO jobs, and refreshed the stale macOS target comment. Validation: |


Summary
Validation
This PR was generated by Codex.
Note
High Risk
Touches every CI, bench, docs, and release/PGO workflow; runner or cache misconfiguration could break builds, slow releases, or change shipped PGO/BOLT binaries.
Overview
CI and release workflows move off Namespace self-hosted runner labels onto GitHub-hosted runners (
ubuntu-latest,macos-latest,ubuntu-24.04-armfor native aarch64 Linux PGO).namespacelabs/nscloud-cache-actionis replaced everywhere Rust builds need caching with pinnedSwatinem/rust-cache, using shared keys (linux,linux-arm64,windows, macOS) andsave-ifonmainso PRs restore but do not write the shared cache.Housekeeping drops the Namespace actionlint allowlist, the README CI / Namespace sponsor block, and the unused namespace logo asset.
benchmarks/pgo.bashcomments now cite GitHub runners for BOLT’s perf/LBR constraints instead of Namespace kernel settings.Reviewed by Cursor Bugbot for commit 6b94faf. Bugbot is set up for automated code reviews on this repo. Configure here.