Skip to content

Stop CETLVaSt from verifying the same commit twice (#267) - #268

Merged
thirtytwobits merged 1 commit into
mainfrom
claude/issue-267-ci-duplicate-runs
Oct 25, 2026
Merged

thirtytwobits merged 1 commit into
mainfrom
claude/issue-267-ci-duplicate-runs

Conversation

@thirtytwobits

Copy link
Copy Markdown
Member

Summary

Removes the CETLVaSt triggers that verified the same commit twice, and cancels superseded pull request runs (#267).

Change Duplicate it removes Job-minutes, last 100 runs
push filters on branches: ["**"], so version tags do not trigger the workflow; the tag clause is gone from the job conditions. Tag run on a main commit whose main push run the release already packaged 821
#verification / #docs commit-message triggers removed. Push run plus pull_request run on a branch with an open PR 572
Full verification runs for pull_request, workflow_dispatch, and github.ref == 'refs/heads/main'. contains(github.ref, '/main') substring matches; issue/* pushes with an open PR latent
cancel-in-progress: ${{ github.event_name == 'pull_request' }}. main runs are never cancelled. PR runs superseded by a newer commit 4,185
cache-warmup needs release-tests. Full matrix after release-tests fails 370 (once)

The 1,333 job-minutes from dispatching on a stacked PR that already had pull_request runs were a process error; CONTRIBUTING.md now says when to dispatch.

Behaviour that changes for contributors: a push to an issue/* branch, or a commit tagged #verification, no longer runs the full matrix by itself. PRs into main or issue/* still do, and a maintainer can dispatch the workflow on any branch.

Tests

  • test_full_release_gate_triggers_cover_all_dependencies recognises github.ref == '...' predicates, so every gated job must carry the main clause.
  • test_version_tags_reuse_the_main_run: the push trigger filters on branches only and the workflow never mentions refs/tags.
  • The tag-clause assertion in test_matrix_and_gate_contract_matches_workflow is removed.

Validation

  • python3 -m unittest discover -s scripts/tests: 83 tests pass.
  • Mutation check: adding tags: ["v*"] under push fails test_version_tags_reuse_the_main_run; removing the main clause from cache-warmup fails the trigger-coverage test.
  • actionlint is clean. The parsed workflow has every gated job on the same three-term condition.
  • Action versions checked against their latest releases (checkout v7.0.1, setup-python v7.1.0, cache v6.1.0, upload-artifact v7.0.2, download-artifact v8.0.2; all node24); no bumps needed.
  • This PR's own pull_request run uses the new workflow.

Closes #267.

🤖 Generated with Claude Code

A full CETLVaSt run is 21 jobs and 260-370 job-minutes. Of the 16,405
job-minutes the last 100 runs used, 2,726 went to verifying a commit a
second time and 4,185 to pull request runs that kept going after a
newer commit was pushed.

- Version tags no longer trigger the workflow. The release script
  waits for the main push run of the tagged commit and packages that
  run's bundle; nothing read the tag run.
- The #verification and #docs commit-message triggers are gone. On a
  branch with an open pull request they ran the full matrix in the push
  run as well as the pull_request run. A manual dispatch verifies a
  branch without a pull request.
- Full verification runs for pull requests, dispatches, and pushes to
  refs/heads/main, matched exactly. contains(github.ref, '/main')
  matched any ref containing /main, and pushes to an issue/* branch with
  an open pull request ran the matrix on both events.
- A new commit cancels the running pull_request verification of its
  pull request. Runs on main are never cancelled because the release
  waits for them.
- cache-warmup needs release-tests, so a release tooling failure stops
  the matrix instead of running it to a release-ready that must fail.

The release contract tests follow the new conditions, and a new test
keeps version tags out of the push trigger. CONTRIBUTING.md describes
the triggers.

Closes #267.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@thirtytwobits

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T19:32:39.730334Z 2cf042f Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

Reviewed commit: 2cf042f93c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@thirtytwobits
thirtytwobits merged commit bf1e5f3 into main Oct 25, 2026
36 checks passed
@thirtytwobits
thirtytwobits deleted the claude/issue-267-ci-duplicate-runs branch October 25, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CETLVaSt verifies the same commit twice and keeps superseded PR runs

1 participant