ci(cmux-next guards): run test_ci_tip_test_compile.py on pull requests (tooling-tests base red)

Merged
TE
14d ago
+7-0

Base red on feat-cmux-next: cmux-next guards / tooling-tests, step "The Python test registry, and the tests no pull request runs", fails on every feat-cmux-next pull request (seen on #24136, run 39789311718, job 119860776563):

- tests/test_ci_tip_test_compile.py: linux-guard lane is not run by any workflow
warning: tests/test_ci_tip_test_compile.py: no job a pull request into feat-cmux-next runs executes it, so a change that breaks it lands green. Run it from a step of a job that runs on those pull requests (routed by the paths of the code it tests) ...

Origin: 77c3c5ad ("ci(cmux-next): every feat-cmux-next push compiles the Swift test targets it can break…") registered tests/test_ci_tip_test_compile.py on the linux-guard lane in tests/test-execution.toml, but no workflow runs it; cmux-next-tip-test-compile.yml runs scripts/ci/tip-test-compile.sh only on feat-cmux-next pushes.

Change

One step in the tooling-tests job of .github/workflows/cmux-next-guards.yml (Linux, runs on every feat-cmux-next pull request and push, no path filter) runs python3 tests/test_ci_tip_test_compile.py, beside the other feat-cmux-next tooling tests and with the same if: ${{ !cancelled() }}. The test is stdlib Python driving the script against a fake cmux-ci client and a fake GitHub API: 9 tests, about 3 s. Nothing in cmux-next-tip-test-compile.yml or tip-test-compile.sh changes; this only makes the test run on pull requests, so a change that breaks the script no longer lands green.

Changelog

none

Observed / Not run

  • python3 scripts/ci/validate_test_execution_registry.py --pr-lanes feat-cmux-next --base-sha cba27b07 (with PyYAML): at base cba27b07 it fails with tests/test_ci_tip_test_compile.py: linux-guard lane is not run by any workflow (exit 1); at this head it prints Python test execution registry valid: 455 tests (exit 0).
  • python3 -I tests/test_ci_tip_test_compile.py: Ran 9 tests ... OK (run on macOS; the script uses only bash, sed, grep and python3, and the test strips GITHUB_*/RUNNER_*).
  • actionlint .github/workflows/cmux-next-guards.yml: clean. scripts/cmux-next/prepush-gate.py: no new violations.
  • Not run: the job itself on Linux before this PR's CI.

Risk: low (CI wiring, one test step).

Agent session: cosmic-gray

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the red tooling-tests base check on feat-cmux-next pull requests so a change that breaks tip-test-compile.sh no longer lands green.

  • tooling-tests in cmux-next-guards.yml now also runs tests/test_ci_tip_test_compile.py, which previously only ran on pushes via cmux-next-tip-test-compile.yml.
  • tests/test_pr_lane_coverage.py now pins that test to the tooling-tests lane so the coverage check stays consistent.
  • The test uses a fake cmux-ci client and GitHub API, runs in about 3 seconds, and leaves push-time behavior unchanged.