Skip to content

coordinator: Rerun a master push with only no-runner jobs - #30

Merged
zackees merged 2 commits into
masterfrom
fix/29-no-runner-push
Nov 5, 2026
Merged

zackees merged 2 commits into
masterfrom
fix/29-no-runner-push

Conversation

@vpacher

@vpacher vpacher commented Nov 5, 2026

Copy link
Copy Markdown
Member

Fixes #29

What and why

Step 1 of the CI plan (obs-rust/obs-studio#3637). A master push that failed only because jobs got no runner was reported as a code break: fix-master said to find the PR that broke it, the failed-job log was empty, and the repo's fix-ci tasks stayed hidden.

  • New task rerun-master: when every failed job of the latest push run is cancelled with no runner and no steps. It replaces fix-master, and fix-ci tasks stay on the list. Any other failed job, or a run with more jobs than one page shows, stays fix-master.
  • GitHub incidents: workflow.coordinator prints unresolved incidents first, and says so if it cannot read them (5 s timeout). With --json they go to stderr, so the JSON stays a list. --sim reads no status page.
  • Skill: obs-org-coordinator lists the task and the no-runner flake. The obs-coordinator lines in obs-rust/obs-studio are a separate PR.

No change to what CI runs.

RED → GREEN

RED, the first commit: the new tests fail on import. GREEN, the second commit: 244 tests pass. test_full_order gets one line, because it lists every task kind.

Checked against real runs of obs-rust/obs-studio with only_no_runner():

Run Failed jobs Result
41874818392 swift-format, no runner no runner
41885535539 2 macOS jobs, no runner no runner
41888783212 macOS and swift-format, no runner no runner
41986554080 Cross Lint, ran and failed stays red
41992057788 none not this case

red_branches, no_runner_runs and the incident read also ran live (both empty today, because master is green and there is no incident). --sim runs and reads no status page.

Not run live: a real rerun-master task from the full work list, because no master push is in this state now.

🤖 Generated with Claude Code

vpacher and others added 2 commits November 5, 2026 09:36
The new tests need a rerun task in place of fix-master, fix-ci tasks that
stay on the list, and GitHub incidents at the top of the work list. They
fail: workflow.gh has no only_no_runner or github_incidents.

Refs #29.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
A push run whose failed jobs all got no runner (cancelled, no runner, no
steps) now gives a rerun-master task. It gives no fix-master, because no PR
broke it and the failed-job log is empty, and the fix-ci tasks of that repo
stay on the list. Any other failed job stays fix-master.

The work list prints GitHub's unresolved incidents first, and says so if it
cannot read them. --sim reads no status page. The status page alone cannot
replace the job check: of the runs on 2026-11-04 with such a job, only one
started inside an Actions incident.

Fixes #29.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@vpacher
vpacher requested a review from zackees November 5, 2026 08:43
@obs-rust-project-manager obs-rust-project-manager Bot moved this to Ready to merge in obs-rust Multiview Nov 5, 2026
@zackees
zackees merged commit c6f526d into master Nov 5, 2026
3 checks passed
@obs-rust-project-manager obs-rust-project-manager Bot moved this from Ready to merge to Done in obs-rust Multiview Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

coordinator: a master push with only no-runner jobs is reported as a code break

2 participants