Repository navigation
ci(jules): watch only CI workflows, split concurrency group (#304) - #357
Conversation
) workflow_run subscribed to every workflow completion ('*'), creating a skipped no-op Jules run per completion (48 of the last 100 repo runs), and the single workflow-level concurrency group (github.ref is the default branch for workflow_run) let a noise run cancel a pending ci-failure-fix run. - workflow_run now lists only the CI workflows ci-failure-fix can act on (mcpx, mcpx conformance, mcpx nix build, nix ci, id) and ignores main completions, which the job would skip anyway. - The workflow-level concurrency group is gone; each job carries its own group keyed by its target (issue number / triggering workflow+branch), so a run whose jobs all skip can never displace a run that would act.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 1
✨ Finishing Touches
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. Comment |
Problem
jules.ymlsubscribed to every workflow completion (workflow_run: workflows: ["*"]), so every completion in the repo created a Jules run whose jobs all skipped. Fresh count this run: 53 of the last 100 repo runs are Jules, 48 of them skippedworkflow_runno-ops (issue reported 54/44 on 2026-10-18).Worse, the single workflow-level concurrency group (
${{ github.workflow }}-${{ github.ref }}) is shared by all of them — forworkflow_runeventsgithub.refis the default branch — and GitHub's defaultqueue: singlesemantics let a noise completion cancel a pendingci-failure-fixrun, the one run the trigger exists for (same failure mode as #302).Solution
workflow_run.workflowsnow lists only the CI workflowsci-failure-fixcan act on:mcpx,mcpx conformance,mcpx nix build,nix ci,id(names verified against each workflow'sname:on main).branches-ignore: [main]on theworkflow_runtrigger: the job ignores main-branch failures, so main completions no longer create a run at all.weekly-cleanup,issue-<number>,ci-failure-fix-<workflow>-<branch>,manual— all withcancel-in-progress: false, so same-target supersede behaviour is kept and a run whose jobs all skip shares a group with nothing that would act.Acceptance notes
workflow_run, so a successful non-main completion of a watched workflow still creates one inert skipped run — but it can no longer displace anything (no workflow-level group; its only job-level group is keyed to that workflow+branch's failure-fix target and the job is skipped).schedule,issues: [labeled]andworkflow_dispatchtriggers are unchanged.Verification
prettier --check .github/workflows/jules.ymlpasses (treefmt-clean).workflow_run: ["*"]subscription exists in developing-today/opencode, developing-today/openchamber or dezren39/nix.Closes #304
Need help on this PR? Tag
@codesmith-botwith what you need.