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
- ..
- 0001_init.sql
- 0002_reusable_workflows.sql
- 0003_settings_access.sql
- 0004_self_hosted_runners.sql
- 0005_actions_cache.sql
- 0006_artifacts.sql
- 0007_run_protection.sql
- 0008_actions_access.sql
- 0009_run_attempts.sql
- 0010_jobs_self_hosted_lower.sql
- 0011_schedule_rules.sql
- 0012_runner_task_runs.sql
- 0013_action_registry.sql
- 0014_managed_workflows.sql
- 0015_runner_isolation.sql
- 0016_log_chunks.sql
- 0017_workspace_managed_workflows.sql
- 0018_desktop_runners.sql
- 0019_brokered_secrets.sql
- 0020_job_token_rotation.sql
- 0021_log_retention.sql