Skip to content

ci: right-size 4 runners - #244

Closed
NaysKutzu wants to merge 1 commit into
mainfrom
NaysKutzu/rightsize-runners
Closed

NaysKutzu wants to merge 1 commit into
mainfrom
NaysKutzu/rightsize-runners

Conversation

@NaysKutzu

@NaysKutzu NaysKutzu commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Moves four CPU-bound jobs to larger Blacksmith runners, selected from the right-sizing recommendations for this repo (last 7 days of runs). Each one keeps all of its cores busy during its heavy phases, so more vCPUs should shorten it. Combined estimated cost impact is about +$5/month.

Apply for speed

Async Runner Jobs / Async Runner Build (runner.yml): blacksmith-2vcpu-ubuntu-2404 → blacksmith-4vcpu-ubuntu-2404
High confidence. The Rust release build and tests pin both cores: in the busiest runs, average CPU is 90% and 86% of the run is spent above 80% CPU. Runtime is 3m01s at p50 and 4m27s at p95 across 48 runs (about 230 runs/month). Estimated cost impact: +$0.53/month. Sample run metrics

CodeQL / Analyze (javascript) (codeql.yml): blacksmith-4vcpu-ubuntu-2404 → blacksmith-8vcpu-ubuntu-2404
Medium confidence. All 4 cores are busy at the job's peak (95th percentile CPU 99%), and the busiest runs spend 36% of their time above 80% CPU. Peak memory reaches 62%; the 8 vCPU runner also doubles memory. javascript is the matrix's only leg, so the shared runs-on changes directly. Runtime is 1m22s at p50 and 2m03s at p95 across 54 runs (about 259 runs/month). Estimated cost impact: +$2.80/month. Sample run metrics

Docker Build & Publish (Dev) / Build & Push Backend (Dev) - linux/arm64 (docker-dev.yml): blacksmith-4vcpu-ubuntu-2404-arm → blacksmith-8vcpu-ubuntu-2404-arm
Medium confidence. Full builds use all 4 cores (95th percentile CPU 98%, with the busiest runs spending 24% of their time above 80% CPU). Half the runs finish in about 30s (likely cached builds), so the gain lands on the slower rebuilds: p95 is 6m39s across 33 runs (about 158 runs/month). This leg is also the slower of the two Backend legs that the manifest job waits on. Estimated cost impact: +$1.46/month. Sample run metrics

Docker Build & Publish (Dev) / Build & Push Async Runner (Dev) - linux/arm64 (docker-dev.yml): blacksmith-4vcpu-ubuntu-2404-arm → blacksmith-8vcpu-ubuntu-2404-arm
Medium confidence. Strongly CPU-bound: in the busiest runs, average CPU is 69% and 59% of the run is spent above 80% CPU across all 4 cores. Runtime is 29s at p50 and 2m36s at p95 across 33 runs (about 158 runs/month). Estimated cost impact: +$0.40/month. Sample run metrics

Both Docker rows change only the linux/arm64 entry of their job's matrix include. The linux/amd64 legs and the Frontend v2 and MCP jobs keep their current runners:

           - platform: linux/arm64
-            runner: blacksmith-4vcpu-ubuntu-2404-arm
+            runner: blacksmith-8vcpu-ubuntu-2404-arm
             cache-key: arm64

Check names stay the same because they're built from matrix.platform. The Composer cache key uses matrix.cache-key, so it doesn't depend on the runner label either. docker-dev.yml only runs on pushes to develop and manual dispatch, so this PR's checks only exercise the runner.yml and codeql.yml changes. The Docker legs pick up the new runners once this lands on develop.

Summary by CodeRabbit

  • Chores
    • Updated automated code analysis and build workflows to use higher-capacity runners, including ARM environments. Workflow platforms and other job settings remain unchanged. These updates affect internal development and verification processes; they do not change application features or behavior.

Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: MythicalLTD/FeatherPanel/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9c20d895-55d3-4f4f-9310-651e5fb7a184

📥 Commits

Reviewing files that changed from the base of the PR and between 1661a17 and f2cd44d.


📒 Files selected for processing (3)
  • .github/workflows/codeql.yml
  • .github/workflows/docker-dev.yml
  • .github/workflows/runner.yml

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.



Walkthrough

Four CI workflow jobs now use runners with increased CPU capacity. The workflows retain their other settings.

Changes

CI runner capacity

Layer / File(s) Summary
Workflow runner selections
.github/workflows/codeql.yml, .github/workflows/docker-dev.yml, .github/workflows/runner.yml
CodeQL analysis and two ARM64 build jobs now use 8-vCPU runners. The runner build job now uses a 4-vCPU runner.

Priority: ⬇️ Low

Change: Other

Merge Risk: ⚪ Minimal · up to f2cd4

The selected CI jobs gain compute capacity at the reported roughly $5/month increase. No actionable workflow or scheduling issue is established, so no concrete merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: right-sizing four CI runners.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.


✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@NaysKutzu NaysKutzu closed this Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant