Delete the duplicate CI workflow so it runs once per push - #171
Merged
Merged
Conversation
`ci-test.yml` and `main.yml` were both named "Main" and both defined `quality` and `tests-and-type-check`, so every pull request ran each of them twice. This is finding F4. No trigger needed changing: `ci-test.yml` was a strict subset. The two `quality` jobs were byte-identical, the two `tests-and-type-check` jobs differed only in one step's display name, and `check-docs` existed solely in `main.yml`. The only thing `ci-test.yml` contributed was a worse trigger -- a bare `on: push` with no branch filter, firing on every push to every branch, which is what produced the duplicate. `main.yml` already triggers on pushes to `main` and on pull requests, which is the intended coverage. So the fix is to delete the file. Halving the jobs matters more than it did when F4 was written. The build test added in group F takes the suite from roughly two minutes to over six per job, so runner time per push drops from about 25 minutes to about 12. A further saving is available and deliberately not taken: a `concurrency` group with `cancel-in-progress` would abandon superseded runs when a branch is pushed repeatedly. That is a different change from de-duplicating triggers and belongs in its own decision. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018TgVbCXXWAWhNjtKTzrxvN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Finding F4:
ci-test.ymlandmain.ymlwere both named "Main" and both definedqualityandtests-and-type-check, so every pull request ran each of them twice.Why deleting is the fix, rather than changing a trigger
ci-test.ymlwas a strict subset ofmain.yml:ci-test.ymlmain.ymlqualitytests-and-type-checkcheck-docson: push, no branch filterpushtomain, pluspull_requestThe only thing it contributed was the worse trigger, firing on every push to every branch.
main.ymlalready covers pushes tomainand all pull requests, which is the intended coverage, so nothing is lost.What it saves
This matters more than when F4 was written: the build test added in the previous PR takes the suite from roughly two minutes to over six per job, so the duplication was costing a lot more than it used to.
Deliberately not included
A
concurrencygroup withcancel-in-progresswould abandon superseded runs when a branch is pushed repeatedly, which is a further saving. That is a different change from de-duplicating triggers, so it is left as its own decision.Verification
This PR is its own test: it should show four checks rather than eight.
🤖 Generated with Claude Code
https://claude.ai/code/session_018TgVbCXXWAWhNjtKTzrxvN