ci: extract traffic-control into its own workflow file #353

Merged
JMR-dev merged 1 commits from ci-extract-traffic-control into main 2026-07-05 21:17:10 +00:00
JMR-dev commented 2026-07-05 19:48:28 +00:00 (Migrated from github.com)

What

Extracts the traffic-control (runner-priority orchestration) job verbatim out of
.github/workflows/ci.yml into a new standalone workflow,
.github/workflows/traffic-control.yml.

This is a pure move — the maintainer is mothballing the traffic-controller to later rebuild it
as a published GitHub Action. Getting it out of ci.yml means the heavy jobs no longer depend
on it. The new workflow will be disabled (gh workflow disable) after this merges — this PR
only performs the extraction.

Changes

New file .github/workflows/traffic-control.yml:

  • name: Traffic control (runner priority), on: pull_request (the job reads
    github.event.pull_request.number, so it needs PR context).
  • The entire traffic-control: job moved verbatim (name, runs-on, timeout-minutes,
    permissions, env, full steps: bash), plus its documentation comment — unchanged.
  • Short top-of-file note recording that it was extracted from ci.yml and is being mothballed.

.github/workflows/ci.yml:

  • Deleted the traffic-control: job block (and its doc comment, which moved to the new file).
  • Removed needs: traffic-control from the five heavy jobs (static-analysis, debug-build,
    unit-tests, e2e, e2e-preview) and from traffic-control-tests — the latter's only
    needs: was traffic-control, which would otherwise dangle at a now-deleted job and make the
    workflow invalid.
  • Updated the now-stale header comment at the top of jobs: and the ci-passed comment to note
    that traffic-control now lives in its own (disabled) workflow.
  • traffic-control-tests, ci-passed, workflow_dispatch inputs, concurrency, and all
    heavy-job config are otherwise unchanged.

Unchanged: .github/scripts/traffic_control.py (referenced by both the extracted workflow
and the traffic-control-tests job) is not touched.

Validation

  • yaml.safe_load parses both ci.yml and traffic-control.yml cleanly.
  • Zero remaining needs: traffic-control / traffic-control: job references in ci.yml
    (the separate traffic-control-tests job remains).
  • python -m unittest discover -s .github/scripts — 59 tests pass (script unchanged).

🤖 Generated with Claude Code

## What Extracts the `traffic-control` (runner-priority orchestration) job **verbatim** out of `.github/workflows/ci.yml` into a new standalone workflow, `.github/workflows/traffic-control.yml`. This is a pure move — the maintainer is mothballing the traffic-controller to later rebuild it as a published GitHub Action. Getting it out of `ci.yml` means the heavy jobs no longer depend on it. **The new workflow will be disabled (`gh workflow disable`) after this merges** — this PR only performs the extraction. ## Changes **New file `.github/workflows/traffic-control.yml`:** - `name: Traffic control (runner priority)`, `on: pull_request` (the job reads `github.event.pull_request.number`, so it needs PR context). - The entire `traffic-control:` job moved verbatim (`name`, `runs-on`, `timeout-minutes`, `permissions`, `env`, full `steps:` bash), plus its documentation comment — unchanged. - Short top-of-file note recording that it was extracted from `ci.yml` and is being mothballed. **`.github/workflows/ci.yml`:** - Deleted the `traffic-control:` job block (and its doc comment, which moved to the new file). - Removed `needs: traffic-control` from the five heavy jobs (`static-analysis`, `debug-build`, `unit-tests`, `e2e`, `e2e-preview`) **and** from `traffic-control-tests` — the latter's only `needs:` was `traffic-control`, which would otherwise dangle at a now-deleted job and make the workflow invalid. - Updated the now-stale header comment at the top of `jobs:` and the `ci-passed` comment to note that `traffic-control` now lives in its own (disabled) workflow. - `traffic-control-tests`, `ci-passed`, `workflow_dispatch` inputs, concurrency, and all heavy-job config are otherwise unchanged. **Unchanged:** `.github/scripts/traffic_control.py` (referenced by both the extracted workflow and the `traffic-control-tests` job) is not touched. ## Validation - `yaml.safe_load` parses both `ci.yml` and `traffic-control.yml` cleanly. - Zero remaining `needs: traffic-control` / `traffic-control:` job references in `ci.yml` (the separate `traffic-control-tests` job remains). - `python -m unittest discover -s .github/scripts` — 59 tests pass (script unchanged). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.