syntaqxSelf-hosted runners: a workspace on hold registers none, and a free workspace runs 4 of its workflow jobs on them at once. Runner registration had no billing check, and jobs on self-hosted runners skipped the workspace's concurrency limit, so a free workspace could run any number of jobs (each uploading artifacts and cache and writing logs) on runners of its own. Making a registration token now asks billing for the workspace's standing and refuses one while g1t staff hold it (Entitlements gains held). When a runner looks for work and its workspace already has FREE_SELF_HOSTED_JOBS (4, a wrangler var; 0 is no cap) jobs going on its runners, billing is asked whether it has the plan; without it, the workflow jobs wait until one finishes. Billing is asked only at the cap, so a runner's poll stays cheap, and when billing does not answer jobs go ahead. The self-hosted runners guide says so.f1e1810History
README.md
GitHub's workflow schema
workflow-v1.0.json is GitHub's schema for workflow files, copied unchanged from
actions/languageservices, file
workflow-parser/src/workflow-v1.0.json, at commit
4043eda158e16579cc5fb1b0b07a4bce2a76f0b5 (5 August 2026). It is MIT licensed;
LICENSE is that repository's licence, copied from the same commit.
g1t does not read it at run time. src/syntax.rs lists the keys each part of a
workflow may have, and its tests check those lists against this file, so they
cannot drift from GitHub's. To update it, copy the file again, write the commit
here, and run cargo test -p g1t-actions.