ci(claude-code-review): default runs-on to the self-hosted pool - #88
Merged
Merged
Conversation
Actions credits are exhausted across HordiaLabs, Sproncy and Regularmusic, so a GitHub-hosted job does not run at all: it fails about two seconds after queueing with "The job was not started because recent account payments have failed or your spending limit needs to be increased". 41 private repos take this reusable's `ubuntu-24.04` default, and every other workflow in those repos already passes a self-hosted `runs-on`. So the billing stop does not read as a billing stop -- it reads as one flaky reviewer, red on every PR while ci, docker-build, trivy, gitleaks and lint all pass on the same commit. The reasons for the hosted default are still true and are kept in the comment: the job needs no private network, no local toolchain and no state, and on a contended pool it queued 40-77 minutes for 3-6 minutes of work and failed at runner assignment about one run in six. But a slow, occasionally flaky review beats no review, and this one is advisory either way -- the claude-code-action step is continue-on-error and cannot block a PR on any runner. This also makes the two Claude reusables consistent: claude.yml has defaulted to the self-hosted pool all along, with public repos opting out by passing an ubuntu label. Same convention here now, and the comment spells out that the opt-out is about fork PRs on a self-hosted pool, not just free minutes. No public repo consumes this reusable today -- checked the three orgs and the nkg/* public repos -- so nothing is silently moved onto the pool by this. Revisit when credits reset.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Actions credits are exhausted across HordiaLabs, Sproncy and Regularmusic, so a GitHub-hosted job doesn't run at all — it fails ~2s after queueing:
41 private repos take this reusable's
ubuntu-24.04default. Every other workflow in those repos already passes a self-hostedruns-on, so the billing stop doesn't read as a billing stop — it reads as one flaky reviewer, red on every PR whileci,docker-build,trivy,gitleaksandlintpass on the same commit. (Observed on HordiaLabs/extractor-llm#59.)What this changes
default: '["ubuntu-24.04"]'→default: '["self-hosted", "linux", "x64"]', matchingclaude.yml, which has defaulted to the pool all along with public repos opting out via an ubuntu label. The two Claude reusables are now consistent.The original reasons are kept in the comment, because they're still true: this job needs no private network, no local toolchain and no state, and on a contended pool it queued 40–77 minutes for 3–6 minutes of work and failed at runner assignment about one run in six. What changed is only that the hosted alternative can't start. A slow, occasionally flaky review beats no review — and this one is advisory regardless, since the
claude-code-actionstep iscontinue-on-errorand can't block a PR on either runner.Public repos
The comment now says the opt-out is about fork PRs on a self-hosted pool, the hazard GitHub warns about, not just free minutes. I checked before flipping: no public repo consumes this reusable today — HordiaLabs has no public repos, Sproncy's only one (
spacy-alignments) has no review workflow, and none of thenkg/*public repos call it. So nothing is silently moved onto the pool. A future public consumer must pass'["ubuntu-24.04"]'.Reach
Delivery depends on how each consumer pins, so this isn't instant everywhere:
@v3consumers (e.g.HordiaLabs/scraper-core,Sproncy/sproncy-accord,Sproncy/GitHub-runners,Regularmusic/iac) pick it up as soon asrelease.ymlmoves the floating major tag — so this needs a tagged release, not just a merge.HordiaLabs/extractor-llm,fetcher-camoufox,extractor-css) get it when Dependabot bumps the pin. Anything urgent there wants a per-reporuns-onin the meantime — extractor-llm has one in HordiaLabs/extractor-llm#60.Revisit when credits reset; hosted is the right default the moment it can actually start a job.
🤖 Generated with Claude Code
https://claude.ai/code/session_015wGZqkEacSGCx8watYCm1b