Repository navigation
ci: skip ci-status on pull requests into feat-cmux-next - #31319
Conversation
Into feat-cmux-next ci-status is not required and could only pass: its verdict step printed "feat-cmux-next uses cmux-next" and exited 0. It still held a runner while it waited on every job it needs (web included), showed up as a pending check reviewers and landers waited on, and its green told delta_since_green a head had passed even when web failed. ci.yml now skips it for pull requests into feat-cmux-next (label events too; no ci-status of that base was ever red, so a skip hides nothing). gh-merge-green no longer requires it on that base; the cmux-next run checks it already makes stay. next-autoland already treats it as advisory. Leo-ask: ask-f5270bcf0f Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f002808ab221f10b18d2
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 36bea77 to compare; do not merge until green; see lane-rules Shipped in:
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/41350082398 at 9563e33 failed: cmux-next crash ends the app. |
|
Review (subagent claude-opus-5-5 medium): SHIP at 0af9ffb |
Leo asked: "what ci status job seems unnecessary"
Into
feat-cmux-next,ci.yml'sci-statusis not a required check and can only pass: its verdict step prints "feat-cmux-next uses cmux-next" and exits 0. Even so it:needs(webincluded) for a verdict it never read;delta_since_greena green head even whenwebhad failed on it.Change
.github/workflows/ci.yml:ci-statusskips pull requests intofeat-cmux-next, label events included. ci: a label CI does not read no longer starts a full CI run #29747 kept it running on label events so that a skippedci-statuswould never hide an earlier red one fromgh-merge-green. On this base it was never red, so a skip hides nothing.main,merge_groupand stacked next-line PRs keep it as before.scripts/gh-merge-green: no longer requiresci-statuson basefeat-cmux-next; it still requires thecmux-nextruns there. This script is not the landing path forfeat-cmux-next, but run by hand it would otherwise refuse with "run CI for the pull request head".ci-statusas advisory (test_ci_status_is_advisory), so landing does not change. The CLAUDE.md line that said next-autoland requiresci-statuswas stale and is corrected.gh-merge-greenrefusal tests that used a missing or redci-statusonfeat-cmux-nextnow refuse on a redcmux-nextrun.test_ci_change_areasasserts the newif:.Changelog
none
Observed / Not run
python3 -m unittest tests.test_gh_merge_green(113 OK);tests/test_ci_change_areas.py(the same 4 failures as on base, none about ci-status); test_ci_label_events_skip_full_ci, test_ci_guard_workflow_structure, test_ci_required_checks_are_bounded, test_ci_required_checks_drift, test_next_batch_groups, test_ci_delta_since_green, test_ci_queue_janitor, test_base_red_excuse, test_web_validation, test_ci_workflow_run_sources and test_pr_red_checks_comment all pass.ci-statusskipped.Risk: high, because it changes
gh-merge-green, the risk gate's enforcer. No Swift, so no compile is needed.Leo-ask: ask-f5270bcf0f
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Skips the
ci-statusjob for pull requests intofeat-cmux-next, where it was not required and could only pass, so it no longer holds a runner, shows as a pending check, or reports a false green whenwebfailed.ci.ymlnow skipsci-statusfor PRs intofeat-cmux-next, label events included;main,merge_group, and stacked PRs keep it.gh-merge-greenno longer requiresci-statuson that base; thecmux-nextrun checks stay.CLAUDE.mdnote aboutnext-autolandrequiringci-status.cmux-nextrun, and the newif:condition is asserted.Written for commit 0af9ffb. Summary will update on new commits.