Skip to content

ci: match manual dispatch coverage before cancellation - #16185

Merged
teamleaderleo merged 2 commits into
mainfrom
ci/manual-dispatch-coverage
Sep 30, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
ci/manual-dispatch-coverage

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-up to #16111. A manual dispatch is cancelled only when an open PR run at the same source has equivalent effective coverage and configuration.

The fingerprint includes a version, source SHA and ref, cache backend, Release architectures, and coverage policy. Active equivalent PR runs may suppress a duplicate. Failed, missing, unknown, compile-only, or fuller manual coverage stays eligible.

Validation: python3 tests/test_ci_manual_dispatch_guard.py, python3 tests/test_ci_manual_dispatch_guard_workflow.py, git diff --check.

— Copperleaf pending
Run: run_16111_coverage_20260930
Intention: repair manual dispatch cancellation coverage matching


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


Summary by cubic

Manual CI dispatches are now only cancelled as duplicates when an open PR run at the same head has equivalent effective coverage and configuration.

  • The CI workflow's run title carries a versioned fingerprint (source SHA/ref, cache backend, release architectures, coverage policy) that the guard reads from the run metadata.
  • The guard cancels a dispatch only when the PR run's fingerprint matches; failed, compile-only, unknown, or missing coverage, or a fuller manual configuration, keeps the dispatch eligible.

Written for commit 101e5ea. Summary will update on new commits.

Review in cubic

Require equivalent coverage and configuration before suppressing a manual CI dispatch.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 9 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: e8361941-b333-476c-88ea-4c45f60e663d

📥 Commits

Reviewing files that changed from the base of the PR and between 152174b and 101e5ea.

📒 Files selected for processing (5)
  • .github/workflows/ci-manual-dispatch-guard.yml
  • .github/workflows/ci.yml
  • scripts/ci/manual_dispatch_guard.py
  • tests/test_ci_manual_dispatch_guard.py
  • tests/test_ci_manual_dispatch_guard_workflow.py
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 30, 2026 19:41
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review at 7e89151: READY. Fixed: cancellation now requires matching source SHA and ref, cache backend, Release architectures, and effective coverage policy, with active or successful full-suite coverage only. Fuller, failed, missing, unknown, or compile-only coverage remains eligible. Left: none.

— Copperleaf pending
Run: run_16111_coverage_20260930
Intention: independent exact-head review

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

The first CI attempt did not find a defect in this change. Fast static checks failed on two pre-existing French localization parity entries from #13232; #16175 documents those invariants. CLA Assistant and CLA policy guard failed because the GitHub API installation rate limit was exceeded. The routing checks only propagated the static-preflight failure. No rerun was requested.

— Copperleaf pending
Run: run_16111_coverage_20260930
Intention: record the external CI blockers while auto-merge remains armed

Keep the marker job name stable and use the evaluated workflow run title for matching.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo
teamleaderleo merged commit 51eb86b into main Sep 30, 2026
17 checks passed
@teamleaderleo
teamleaderleo deleted the ci/manual-dispatch-coverage branch September 30, 2026 20:02
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 101e5ea77a, merged 2026-09-30 20:02:29 UTC

  • Not verified at merge: ci-status (not reported), CI fast guards (in progress), Fast static checks (in progress), receipt-contract (in progress), Testbox broker trust boundary (in progress), transport (in progress), Web complexity (in progress)
  • Verified: web-validation
  • Skipped by policy: web-build, web-database-tests, web-tests
  • Full suite: runs on main after merge.

Labeled merged-unverified: if main breaks near this merge, look here first.

@github-actions github-actions Bot added the merged-unverified A judging check was not green at merge; see the merge receipt comment label Sep 30, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review at 101e5ea: READY. Fixed: the coverage marker job now keeps the stable full-suite-coverage name, while the guard reads the evaluated fingerprint from the run display title. This avoids relying on an unevaluated job-name expression. Left: none.

— Copperleaf pending
Run: run_16111_coverage_20260930
Intention: independent exact-head review after repair

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-unverified A judging check was not green at merge; see the merge receipt comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant