BuildJet Shutdown: Migrate GitHub Actions Runners

Résumé

Pixel shares a practical guide to migrating GitHub Actions workflows after BuildJet stopped running jobs on 31 March 2026. It covers runner label replacements, cache compatibility, the 50% rate increase for GitHub-hosted Linux 2-core runners, and how to test the change job by job.

DEV Community

Migrate from BuildJet, now that the runners are gone

If you still need to migrate from BuildJet, the deadline is already behind you: BuildJet stopped accepting new signups on 6 February 2026 and stopped running jobs on 31 March 2026, so any workflow still carrying a buildjet- label has had no runner since. The move itself is small, a runs-on line and a cache action per job, but the two things that break quietly are the cache allowance and the ARM memory you were getting for the same price. The row that changes without raising an error. Returning to GitHub-hosted, which BuildJet itself recommends, halves the allowance you had. Latchkey publishes no size, so its row carries what the documentation does state. BuildJet published the migration itself before it went: its shutdown post maps buildjet-2vcpu-ubuntu-2204 to ubuntu-latest, or to ubuntu-24.04-arm for ARM workloads, and says BuildJet Cache is interoperable with actions/cache so you can swap buildjet/cache@v4 for actions/cache@v6 directly. That path works and it is the cheapest to execute. It is also the most expensive to run. GitHub-hosted lists $0.006 a minute for Linux 2-core x64, where BuildJet charged $0.004 for the same 2 vCPU with 8 GB, so taking the recommended path is a 50% rate increase on the shape most BuildJet users were on. BuildJet alternatives prices every live replacement against it. This page is the cutover rather than the shortlist: what to inventory before you touch anything, the exact diff, what actually changes in caching, and what to run first so you find out on one job instead of on all of them. Why every BuildJet workflow needs a destination BuildJet was a drop-in managed runner: a GitHub App, a runs-on label of the form buildjet---, and jobs ran on its hardware. Its own shutdown post gives the two dates: new signups halted on 6 February 2026, jobs stopped on 31 March 2026. The pricing page is gone with it, so the figures below were read on 2026-08-20 while the service was live and are historical. What you were buying: $0.004 a minute at 2 vCPU with 8 GB on AMD, sizes to 32 vCPU, a 20 GB weekly per-repository cache through buildjet/cache, a default concurrency of 64 AMD vCPUs, and ARM cards priced identically to AMD while shipping much less memory, 3 GB against 8 GB at 2 vCPU. Three of those five have no equivalent on GitHub-hosted. The pre-flight checklist Run all eight of these before you change a line. Most of the work in a runner migration is finding the jobs that were quietly depending on something the label gave them. Labels. grep -rn "runs-on:.buildjet" .github/workflows finds every job. Include reusable workflows and composite actions, which a grep of the top-level files alone will miss. Runner sizes. Record the vCPU count in each label. A buildjet-8vcpu job moved to ubuntu-latest drops to 2 vCPU and will take roughly four times as long on anything parallel. ARM memory. Every buildjet-Nvcpu-ubuntu--arm job was running on about 1.5 GB per vCPU. Its replacement almost certainly has 4 GB per vCPU, which is good for the job and different for your timings. Secrets. BuildJet needed none of your secrets, but a self-hosted-style runner does. Confirm nothing in the workflow reads a value that was set on the BuildJet App rather than in repository secrets. Cache keys. Find every buildjet/cache step and note its key and restore-keys. actions/cache takes both inputs unchanged, which is the path BuildJet itself recommends; Latchkey's cache action takes the path and key only, with no restore-keys. The allowance does not carry over either way. Matrix. A matrix that fanned out to 64 AMD vCPUs at once was inside BuildJet's default concurrency. Check the ceiling on wherever you are going, because GitHub-hosted is 20 to 500 concurrent jobs by plan. Artifacts. actions/upload-artifact and download-artifact are GitHub features and are unaffected, but artifact storage counts against your plan and a BuildJet-era job may have been uploading more than you remember. Concurrency groups. concurrency...
BuildJet Shutdown: Migrate GitHub Actions Runners
Powered by Readybot.io

Les dernières actus de Pixel

Fix GitHub Pages: Missing Artifact Error

Pixel's announcement explains why the GitHub Pages deploy action reports that no github-pages artifact was found. It covers skipped or failed build jobs, missing uploads, …

Rotate DB and Redis Passwords Without Downtime

Pixel shares a practical guide to rotating exposed database and Redis passwords without interrupting application connections. The approach updates Secrets, changes service credentials, and gradually …

AI Agent Receipts Prove What Actually Executed

Pixel’s announcement examines how public Zambo receipts verify what an AI agent actually did. A BTC price fetch succeeded with a recomputable output hash, while …