Skip to content

Conversation

@verbotenj
Copy link
Contributor

@verbotenj verbotenj commented Nov 21, 2025


Summary by cubic

Switch CI and publish workflows to our self-hosted runner ([self-hosted, Linux, X64, ansible]) for consistent builds and releases. Also cleaned up YAML arrays/quotes and a small quoting issue.

  • Refactors
    • Set runs-on to [self-hosted, Linux, X64, ansible] in ci-docker, conventional-commits, and publish (build-amd64, multi-arch-manifest, github-release).
    • Standardized array/quote formatting for branches/tags/paths and fixed a run command quote.

Written for commit b384d48. Summary will update automatically on new commits.

Summary by CodeRabbit

  • Chores
    • Standardized CI workflow YAML formatting and normalized branch/tag filter syntax.
    • Updated runner configuration for several pipeline jobs to use self-hosted Linux x64 (ansible) runners.
    • Minor environment variable formatting adjustment in release steps.

✏️ Tip: You can customize this high-level summary in your review settings.

✏️ Tip: You can customize this high-level summary in your review settings.

@verbotenj verbotenj requested review from a team as code owners November 21, 2025 16:52
@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

📝 Walkthrough

Walkthrough

GitHub Actions workflow files were updated across three pipelines. YAML string quoting for branch/tag filters was normalized (switched to double-quoted strings) and paths in ci-docker.yml was converted to a YAML list under a dedicated paths key. Runner specifications for several jobs were changed from ubuntu-latest (and other hosted runners) to a composite self-hosted label set: [self-hosted, Linux, X64, ansible]. No workflow steps or conditional logic were added or removed; one minor change adjusted an environment echo to use single quotes for RELEASE_TAG in the publish workflow.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Changes are homogeneous: runner label replacements and YAML quoting/path formatting across a few workflow files.
  • Areas to check during review:
    • .github/workflows/ci-docker.yml: paths key structure and quoting.
    • .github/workflows/conventional-commits.yml and .github/workflows/publish.yml: runner label changes to [self-hosted, Linux, X64, ansible].
    • publish.yml: RELEASE_TAG echo quoting adjustment and any job-specific runner expectations (self-hosted availability).

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: change runners' is concise and directly reflects the main change—updating GitHub Actions runners across CI workflows from ubuntu-latest to ubuntu-22.04.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/change-runner

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between caccd4d and b384d48.

📒 Files selected for processing (3)
  • .github/workflows/ci-docker.yml (2 hunks)
  • .github/workflows/conventional-commits.yml (1 hunks)
  • .github/workflows/publish.yml (4 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/ci-docker.yml

18-18: label "ansible" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

.github/workflows/publish.yml

16-16: label "ansible" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


150-150: label "ansible" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


289-289: label "ansible" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

.github/workflows/conventional-commits.yml

12-12: label "ansible" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build-amd64
  • GitHub Check: build-arm64
🔇 Additional comments (7)
.github/workflows/conventional-commits.yml (1)

12-12: Verify self-hosted runner with "ansible" label is configured and available.

The runs-on specification uses a custom label ansible which is not a standard GitHub Actions runner label. Actionlint flags this as unknown. Ensure:

  1. A self-hosted runner is configured with the label set [self-hosted, Linux, X64, ansible]
  2. The runner is online and capable of executing the checkout and conventional-commits check actions
  3. If this is a new self-hosted runner pool, document the setup procedure for the team
.github/workflows/ci-docker.yml (2)

5-7: YAML formatting improvements approved.

The changes to lines 5–7 improve consistency: branches now use double-quoted strings and paths is properly structured as a dedicated YAML list. These are good hygiene improvements.


18-18: Verify self-hosted runner with "ansible" label is configured and available.

The runs-on specification for build-amd64 uses a custom label ansible which is not a standard GitHub Actions runner label. Actionlint flags this as unknown. Ensure:

  1. A self-hosted runner is configured with the label set [self-hosted, Linux, X64, ansible]
  2. The runner has Docker and buildx capabilities (required by the docker/setup-buildx-action and docker/build-push-action steps)
  3. The runner has sufficient disk space for the buildx cache operations used in this job

Also note: build-arm64 (line 55) remains on ubuntu-24.04-arm. Confirm whether the mixed-runner strategy (amd64 on self-hosted, arm64 on GitHub-hosted) is intentional.

.github/workflows/publish.yml (4)

5-6: YAML formatting improvements approved.

The changes to lines 5–6 normalize branch and tag filters to use double-quoted strings, improving consistency with other workflow files. This is a good hygiene improvement.


16-16: Verify self-hosted runner with "ansible" label is configured and available.

The runs-on specification for build-amd64 uses a custom label ansible which is not a standard GitHub Actions runner label. Actionlint flags this as unknown. Ensure:

  1. A self-hosted runner is configured with the label set [self-hosted, Linux, X64, ansible]
  2. The runner has Docker, buildx, and manifest capabilities (required by docker/build-push-action and docker manifest commands)
  3. The runner can authenticate to Docker Hub and GHCR using the configured secrets

150-150: Verify self-hosted runner with "ansible" label is configured and available.

The runs-on specification for multi-arch-manifest uses a custom label ansible which is not a standard GitHub Actions runner label. Actionlint flags this as unknown. This job runs docker manifest commands, so ensure:

  1. A self-hosted runner is configured with the label set [self-hosted, Linux, X64, ansible]
  2. The runner has Docker and manifest capabilities
  3. The runner can authenticate to Docker Hub and GHCR using the configured secrets (inherited from build-amd64 and build-arm64)

289-294: Verify self-hosted runner infrastructure and minor quoting improvement.

Runner verification: Line 289 changes runs-on for github-release to use a custom label ansible which is not a standard GitHub Actions runner label. Actionlint flags this as unknown. Ensure the self-hosted runner is available and has network access to reach GitHub's API.

Quoting improvement (line 294): The change from double quotes to single quotes in the echo command is beneficial—it prevents shell variable expansion and ensures $GITHUB_ENV is passed literally to the shell, which is the correct behavior. This is a minor but correct improvement.


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.

wolf31o2
wolf31o2 previously approved these changes Nov 21, 2025
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 3 files

Signed-off-by: Ales Verbic <verbotenj@blinklabs.io>
@verbotenj verbotenj merged commit 57abc29 into main Nov 21, 2025
7 checks passed
@verbotenj verbotenj deleted the ci/change-runner branch November 21, 2025 19:04
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.

3 participants