ci: cut runner queue depth — remove issue_comment trigger and arm64 PR builds#690
ci: cut runner queue depth — remove issue_comment trigger and arm64 PR builds#690badMade wants to merge 3 commits into
Conversation
…4 PR builds Two changes to stop flooding the 20-slot runner pool: 1. auto-merge.yml: Remove the `issue_comment` trigger. Every comment on every PR fired a full workflow run; a busy PR with 60 comments was creating 60 queued runs alone. Review intent is already captured by the `pull_request_review` trigger, so nothing is lost. 2. docker-publish.yml: Skip `build-arm64` on pull_request events. The arm64 job never pushes on PR events (all push/upload steps are gated to upstream main/release), so it only occupies a 45-min arm runner slot without producing a useful artifact. The amd64 smoke test is sufficient for PR validation. https://claude.ai/code/session_016mjwUL1zrcJrveLbFu2ngx
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
There was a problem hiding this comment.
Pull request overview
This PR reduces GitHub Actions runner queue pressure by eliminating high-fanout workflow triggers and avoiding long-running ARM builds on pull requests, while keeping publish behavior intact for main pushes and releases.
Changes:
- Remove the
issue_commenttrigger fromauto-merge.ymland delete the corresponding event-handling branch in the script. - Skip the
build-arm64job onpull_requestevents indocker-publish.ymlto avoid consuming ARM runner capacity for non-publishing PR runs.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/docker-publish.yml | Adds a job-level condition to skip ARM64 builds on PR events to reduce runner usage. |
| .github/workflows/auto-merge.yml | Removes issue_comment as a trigger and updates workflow gating/script logic accordingly to prevent comment-driven run fan-out. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🔎 Lint report:
|
| Rule | Count |
|---|---|
invalid-argument-type |
3 |
First entries
run_agent.py:7317: [invalid-argument-type] invalid-argument-type: Argument to function `build_anthropic_client` is incorrect: Expected `str`, found `str | dict[Unknown, Unknown] | Any | ... omitted 3 union elements`
run_agent.py:13573: [invalid-argument-type] invalid-argument-type: Argument to function `_is_oauth_token` is incorrect: Expected `str`, found `str | dict[Unknown, Unknown] | Any | ... omitted 3 union elements`
run_agent.py:13576: [invalid-argument-type] invalid-argument-type: Argument to function `len` is incorrect: Expected `Sized`, found `(str & ~AlwaysFalsy) | (dict[Unknown, Unknown] & ~AlwaysFalsy) | (Any & ~AlwaysFalsy) | ... omitted 3 union elements`
✅ Fixed issues (3):
| Rule | Count |
|---|---|
invalid-argument-type |
3 |
First entries
run_agent.py:13576: [invalid-argument-type] invalid-argument-type: Argument to function `len` is incorrect: Expected `Sized`, found `(str & ~AlwaysFalsy) | (dict[Unknown | str, Unknown | str | dict[str, str]] & ~AlwaysFalsy) | (Any & ~AlwaysFalsy) | ... omitted 3 union elements`
run_agent.py:7317: [invalid-argument-type] invalid-argument-type: Argument to function `build_anthropic_client` is incorrect: Expected `str`, found `str | dict[Unknown | str, Unknown | str | dict[str, str]] | Any | ... omitted 3 union elements`
run_agent.py:13573: [invalid-argument-type] invalid-argument-type: Argument to function `_is_oauth_token` is incorrect: Expected `str`, found `str | dict[Unknown | str, Unknown | str | dict[str, str]] | Any | ... omitted 3 union elements`
Unchanged: 4354 pre-existing issues carried over.
Diagnostics are surfaced as warnings — this check never fails the build.
Auto-merge: merge failedAll checks passed and the
Please merge manually or investigate the error. |
Auto-merge: checks failingThe following checks did not pass:
Please fix the failing checks before this PR can be merged. |
Summary
The 20-slot runner pool was saturated (364 queued runs) causing all PR checks to stall in "queued" state indefinitely. Two workflow changes eliminate the two biggest contributors:
auto-merge.yml: Remove theissue_commenttrigger. Each comment on any PR fired a full Auto-merge workflow run. A single busy PR with 60 comments generated 60 queued runs by itself. Review intent is already captured by thepull_request_reviewtrigger — nothing is lost.docker-publish.yml: Skipbuild-arm64onpull_requestevents. The arm64 job never pushes anything on PRs (all push/upload steps are already gated to upstreammain/release), so it only occupied a 45-minute arm runner slot without producing a useful artifact. The amd64 smoke test is sufficient for PR validation.Expected impact
mergeandmove-latestjobs in docker-publish are unaffected — they only run onpush/releaseevents wherebuild-arm64still runs normallyTest plan
pull_request_revieweventsworkflow_runcompletionsbuild-amd64+ smoke test still run on PRsbuild-arm64,merge, andmove-lateststill run on pushes tomainhttps://claude.ai/code/session_016mjwUL1zrcJrveLbFu2ngx
Generated by Claude Code