chore(ci): migrate off BuildJet runners before shutdown#6416
chore(ci): migrate off BuildJet runners before shutdown#6416
Conversation
BuildJet for GitHub Actions shuts down on March 31st, 2026. Migrate all workflow references to GitHub-hosted runners. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR migrates all CI workflows off BuildJet runners ahead of the March 31st, 2026 shutdown, replacing
Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PR / Push trigger] --> B{Job}
B --> C[build-wheel]
B --> D[benchmark-codspeed]
C --> C1["Before: buildjet-16vcpu-ubuntu-2204\n(16 vCPUs)"]
C --> C2["After: ubuntu-latest\n(2 vCPUs)"]
C2 --> C3[manylinux Docker build\nrelease-lto Rust compile]
D --> D1["Before: buildjet-8vcpu-ubuntu-2204\n(8 vCPUs)\ncache-provider: buildjet"]
D --> D2["After: ubuntu-latest\n(2 vCPUs)\ncache-provider: github"]
D2 --> D3[Swatinem/rust-cache\ngithub provider]
D3 --> D4[maturin develop\ndev-bench profile]
D4 --> D5[CodSpeedHQ/action\nmode: simulation]
D5 --> D6{timeout-minutes: 45}
D6 -->|within budget| D7[✅ Pass]
D6 -->|exceeds budget on cold cache| D8[❌ Timeout risk]
Last reviewed commit: 6f4044c |
| runs-on: ubuntu-latest | ||
| timeout-minutes: 45 |
There was a problem hiding this comment.
Potential timeout risk due to CPU downgrade
The benchmark-codspeed job is moving from buildjet-8vcpu-ubuntu-2204 (8 vCPUs) to ubuntu-latest (2 vCPUs) — a 4× reduction in compute. This job has a timeout-minutes: 45 and includes a full maturin develop --uv --profile dev-bench Rust compilation step. On GitHub-hosted runners with only 2 vCPUs, the Rust build alone could potentially consume a large portion of that budget, risking timeout failures.
Consider either:
- Increasing the timeout to give more headroom on the slower runner, or
- Pinning to
ubuntu-latestwith a larger runner label (e.g.ubuntu-latest-4-cores) if available, or - Accepting this risk if the build step is typically fast after the cache is warm.
| jobs: | ||
| build: | ||
| runs-on: ${{ inputs.os == 'ubuntu' && 'buildjet-16vcpu-ubuntu-2204' || format('{0}-latest', inputs.os) }} | ||
| runs-on: ${{ inputs.os == 'ubuntu' && 'ubuntu-latest' || format('{0}-latest', inputs.os) }} |
There was a problem hiding this comment.
Significant CPU reduction may slow wheel builds
buildjet-16vcpu-ubuntu-2204 provided 16 vCPUs; ubuntu-latest (GitHub-hosted) provides only 2 vCPUs — an 8× reduction. Since the Linux wheel build runs a full --profile release-lto Rust compilation (which is extremely CPU-bound) inside a manylinux Docker container, build times could increase substantially. This may notably lengthen release pipelines or nightly builds.
If build duration becomes a concern, consider using a runs-on matrix that targets larger GitHub-hosted runners (e.g. ubuntu-latest-16-cores) for the ubuntu case, or self-hosted runners with more CPUs.
|
@colin-ho I remember you mentioned another company that did Github Runners as a service. Could you remind me who that way? |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6416 +/- ##
==========================================
- Coverage 74.78% 74.74% -0.04%
==========================================
Files 1020 1020
Lines 136319 136314 -5
==========================================
- Hits 101949 101891 -58
- Misses 34370 34423 +53 🚀 New features to boost your workflow:
|
Summary
buildjet-8vcpu-ubuntu-2204andbuildjet-16vcpu-ubuntu-2204withubuntu-latestcache-provider: buildjettocache-provider: githubfor Rust cacheNote on runner sizing
This PR downgrades from BuildJet's higher-CPU runners (8 and 16 vCPUs) to GitHub-hosted
ubuntu-latest(2 vCPUs). This will likely increase build times for CPU-bound Rust compilation steps (benchmark-codspeed and wheel builds). We're intentionally starting with the default runners to see how CI performs before upgrading to larger GitHub-hosted runners (e.g.ubuntu-latest-8-cores,ubuntu-latest-16-cores), which are a paid feature.Test plan
benchmark-codspeedjob runs successfully onubuntu-latestbuild-wheeljob runs successfully for Ubuntu builds🤖 Generated with Claude Code