runs-on line. GitHub keeps the workflow, logs, artifacts, and secrets.
Before You Begin: A private repository that is connected and turned on, as in the quickstart. A job in a repository that is off waits on GitHub.
Pick the Label
BoxRouter does not accept GitHub’s own labels such asubuntu-latest. Replace the whole runs-on value with one BoxRouter label. Add self-hosted, linux or x64 beside it if you like; any other label is refused, and so are two BoxRouter labels.
Each label sets a CPU and memory floor, so two runners with the same core count can have different memory. Runners lists each floor. BoxRouter refuses an unsupported size and lists the labels that exist; it never rounds. There is no Ubuntu 22.04 or 26.04 label, no floating
latest, and no size above 16 vCPU.
ubuntu-22.04 runs on 24.04, so check the tool versions its steps rely on.
Who pays and which provider runs the job come from your workspace’s routing settings, not the label.
Choose Which Jobs Move
Move jobs that need only Node.js, Git,curl and jq, or tools they install in a step: tests, linters, type checks, and builds without Docker. Keep these on GitHub:
- Jobs that use Docker, Buildx, Compose, or service containers. The default runner has no Docker;
a
-fullrunner label requests the full image with Docker on verified routes. - Jobs for macOS, Windows, Arm, or Ubuntu 22.04 or 26.04.
- Jobs in public repositories or on fork pull requests.
- Disk-heavy jobs until you check free space on the target runner with
df -h. - Jobs that run longer than 30 minutes. A job runs for up to 6 hours, but a provider account or Credits funding can lower the limit to 30 minutes, and a policy can set any shorter limit. A job that reaches its limit ends early. See Time limits.
runs-on.
Check the Move
- Review the diff. It should change only
runs-onlines. - Push a branch, or use Run workflow for a
workflow_dispatchworkflow. - On GitHub, the job shows the BoxRouter label and a runner named like
brx-…. - In BoxRouter, open GitHub Actions and select the run for its provider, size, timeline, duration, and cost.
- Compare duration with your last run on GitHub. If the job ran out of memory or disk, check which limit it hit. The 16 vCPU label has a higher memory floor; a larger label does not guarantee more disk.
Give This to a Coding Agent
Paste this into a coding agent in a checkout of the repository.Roll Back
Revert theruns-on line:
Next Steps
Choose a Runner
Labels, sizes, tools, and limits.
Troubleshoot Actions
Fix a queued or refused job.
How Actions Security Works
Which jobs run and where secrets stay.