ci: route the security dependency-review job off the self-hosted runner pool#2575
Conversation
changes, security, and validate all used the same fork-aware self-hosted/ubuntu-latest runs-on expression as validate-code, even though none of them do any build/test work that benefits from the self-hosted VPS's cached toolchain: - changes is just checkout + git diff --check + dorny/paths-filter. It runs FIRST and its own output decides whether validate-code needs to run at all, so gating it behind the same contended self-hosted queue it's meant to protect was circular. - security (actions/dependency-review-action) needs no self-hosted capability -- just checkout + a lockfile diff. - validate only reads needs.*.result and echoes a pass/fail message (2-minute timeout). A single same-repo PR was consuming 4 self-hosted runner slots (these three plus validate-code) when only validate-code actually needed one, directly contradicting validate-code's own comment about keeping CI to one runner slot per PR instead of fanning out into competing installs on the same VPS. Route all three unconditionally to ubuntu-latest; validate-code keeps the fork-aware self-hosted/ubuntu-latest expression unchanged.
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-02 09:39:22 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2575 +/- ##
==========================================
+ Coverage 95.96% 95.98% +0.02%
==========================================
Files 226 229 +3
Lines 25452 25811 +359
Branches 9258 9390 +132
==========================================
+ Hits 24424 24775 +351
- Misses 417 425 +8
Partials 611 611 🚀 New features to boost your workflow:
|
Summary
changes,security, andvalidatein.github/workflows/ci.ymlall used the same fork-awareself-hosted/ubuntu-latestruns-onexpression asvalidate-code, even though none of them do any build/test work that benefits from the self-hosted VPS's cached toolchain.changesis justactions/checkout+git diff --check+dorny/paths-filter. It runs FIRST and its own output decides whethervalidate-codeneeds to run at all, so gating it behind the same contended self-hosted queue it's meant to protect was circular — a busy self-hosted pool delayed even discovering that a doc-only PR needed no heavy job.security(actions/dependency-review-action) needs no self-hosted capability — just checkout + a lockfile diff.validateonly readsneeds.*.resultand echoes a pass/fail message (2-minute timeout).validate-code) when onlyvalidate-codeactually needed one, directly contradictingvalidate-code's own comment about keeping CI to one runner slot per PR instead of fanning out into competing installs on the same VPS. Observed this firsthand while pushing this batch's other PRs — several satpendingonchanges/securityfor extended periods purely from self-hosted queue contention, exactly the failure mode this fixes.ubuntu-latest;validate-codekeeps the fork-aware self-hosted/ubuntu-latest expression unchanged.test/unit/workflow-runner-labels.test.ts, which asserted the exact count (4) of trusted-runner expressions inci.ymland now expects 1 (validate-codeonly), plus new assertions that the three routed jobs are unconditionallyubuntu-latest.Closes #2501. Closes #2507.
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally — this is a.github/workflows/**/test/**change with nosrc/**lines, so it carries no Codecov patch obligation; the updated workflow-structure assertions pass.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateSafety
UI Evidencesection below — N/A, no UI changes.Notes
.github/workflows/**, a guarded path — expect this to be held for owner review rather than auto-merged, which is fine since I'm the repo owner.