Skip to content

chore(workflow): move all jobs to free GitHub-hosted runners#1674

Merged
yannickmonney merged 4 commits into
mainfrom
chore/ci-github-hosted-runners
May 6, 2026
Merged

chore(workflow): move all jobs to free GitHub-hosted runners#1674
yannickmonney merged 4 commits into
mainfrom
chore/ci-github-hosted-runners

Conversation

@yannickmonney

@yannickmonney yannickmonney commented May 6, 2026

Copy link
Copy Markdown
Contributor

The repo is public, so ubuntu-latest is free. Move CI jobs off Blacksmith to cut spend.

The repo is public, so ubuntu-latest is free. Move CI jobs that don't
benefit from Blacksmith's sticky Docker layer cache off Blacksmith to
cut spend without slowing the critical path.

Migrated to ubuntu-latest:
- lint.yml: lint, format, knip
- test.yml: test (unit)
- commitlint.yml
- security.yml: bun-audit, trivy-fs
- build.yml: changes, storybook
- release.yml: prepare, manifest, create-release, trigger-cli, summary
- cli.yml: prepare, build (linux), release

Stays on Blacksmith (Docker layer cache or memory-sensitive):
- lint.yml typecheck, test.yml test-ui
- build.yml build, smoke-test, image-validate, vulnerability-scan
- release.yml build (amd64+arm64), container-test
@coderabbitai

coderabbitai Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR updates GitHub Actions workflow configurations across seven workflow files. The changes include: (1) replacing custom useblacksmith/checkout action with the official actions/checkout v6 across multiple jobs, (2) switching custom Blacksmith runners to GitHub-hosted ubuntu-latest in several jobs, (3) downgrading some jobs from 4vCPU to 2vCPU Blacksmith runners, and (4) adding start-turbo-cache: 'false' configuration to the Knip job's setup step. The modifications affect build, CLI, linting, release, security, and test workflows.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'chore(workflow): move all jobs to free GitHub-hosted runners' is misleading because the changeset does NOT move ALL jobs to GitHub-hosted runners—several resource-intensive jobs remain on Blacksmith runners as documented in the PR description. Update the title to accurately reflect the scope, e.g., 'chore(workflow): move light jobs to free GitHub-hosted runners' to match the actual intent and changes.
Description check ⚠️ Warning Pull request description is significantly incomplete compared to the required template. The summary is provided, but the mandatory pre-merge checklist is entirely unchecked with no explicit N/A markings or reasoning. Complete the pre-merge checklist by checking each item or marking N/A with a brief reason explaining why the task does not apply to this change.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/ci-github-hosted-runners

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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/lint.yml (1)

115-119: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Stale comment still references "4vCPU" after the runner was downgraded to 2vCPU

The inline comment says "Memory-sensitive, keep at 4vCPU" but the runner is now blacksmith-2vcpu-ubuntu-2404.

✏️ Proposed fix
-  # tsc --noEmit across workspaces. Memory-sensitive, keep at 4vCPU.
+  # tsc --noEmit across workspaces. Memory-sensitive, keep at 2vCPU.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/lint.yml around lines 115 - 119, The inline comment above
the typecheck job is outdated (it says "keep at 4vCPU") while the job now uses
runner "blacksmith-2vcpu-ubuntu-2404"; update the comment associated with the
typecheck job (the block around the typecheck job name "Type check" / job key
"typecheck") to reflect the current 2vCPU runner (or remove the stale note
entirely) so the comment matches the runner configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/test.yml:
- Line 86: actionlint is flagging the custom runner label
blacksmith-2vcpu-ubuntu-2404 (and blacksmith-2vcpu-ubuntu-2404-arm) as unknown;
update the Actionlint configuration (.github/actionlint.yaml) to add these
strings to the known self-hosted runner labels so actionlint stops reporting
false positives—add both "blacksmith-2vcpu-ubuntu-2404" and
"blacksmith-2vcpu-ubuntu-2404-arm" to the self-hosted/labels list referenced by
actionlint so workflows that use runs-on: blacksmith-2vcpu-ubuntu-2404 (and the
ARM variant) are accepted.

---

Outside diff comments:
In @.github/workflows/lint.yml:
- Around line 115-119: The inline comment above the typecheck job is outdated
(it says "keep at 4vCPU") while the job now uses runner
"blacksmith-2vcpu-ubuntu-2404"; update the comment associated with the typecheck
job (the block around the typecheck job name "Type check" / job key "typecheck")
to reflect the current 2vCPU runner (or remove the stale note entirely) so the
comment matches the runner configuration.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 41ddc9c0-d28f-4fe8-b6ec-64d2124a6963

📥 Commits

Reviewing files that changed from the base of the PR and between 81f5a5c and 88ccd2b.

📒 Files selected for processing (7)
  • .github/workflows/build.yml
  • .github/workflows/cli.yml
  • .github/workflows/commitlint.yml
  • .github/workflows/lint.yml
  • .github/workflows/release.yml
  • .github/workflows/security.yml
  • .github/workflows/test.yml

Comment thread .github/workflows/test.yml Outdated
@yannickmonney yannickmonney force-pushed the chore/ci-github-hosted-runners branch from cdb2808 to 46eec01 Compare May 6, 2026 09:06
@yannickmonney yannickmonney changed the title chore(workflow): move light jobs to free GitHub-hosted runners chore(workflow): move all jobs to free GitHub-hosted runners May 6, 2026
@yannickmonney yannickmonney merged commit 3b1e3c6 into main May 6, 2026
20 checks passed
@yannickmonney yannickmonney deleted the chore/ci-github-hosted-runners branch May 6, 2026 09:55
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