Skip to content

chore(ci): migrate remaining workflows to namespace runner#3649

Merged
mabry1985 merged 1 commit into
mainfrom
chore/migrate-workflows-to-namespace
May 24, 2026
Merged

chore(ci): migrate remaining workflows to namespace runner#3649
mabry1985 merged 1 commit into
mainfrom
chore/migrate-workflows-to-namespace

Conversation

@mabry1985
Copy link
Copy Markdown
Contributor

@mabry1985 mabry1985 commented May 24, 2026

Pulls 11 workflows off GitHub-hosted (`ubuntu-latest`) and ad-hoc `self-hosted` onto `namespace-profile-protolabs-linux` — the same runner already used by `checks.yml`, `test.yml`, and `langfuse-prompt-sync.yml`. This stops consuming GitHub Actions minutes for the migrated workflows.

ubuntu-latest → namespace (6)

  • `code-review.yml`
  • `idea-accepted.yml`
  • `deploy-docs.yml`
  • `close-external-prs.yml`
  • `stale.yml`
  • `triage.yml`

self-hosted → namespace (5)

  • `auto-release.yml`
  • `create-protolab-test.yml`
  • `e2e-tests.yml`
  • `regenerate-site.yml`
  • `pr-check.yml`

Untouched

  • `deploy-main.yml` — being removed in chore: remove deploy-main workflow #3648 (was the only workflow targeting the offline `protolabs-main` runner).
  • `checks.yml`, `test.yml`, `langfuse-prompt-sync.yml` — already on namespace.

Verification

After this and #3648 land:

  • All 14 active workflows route to `namespace-profile-protolabs-linux`.
  • The 10 self-hosted automaker-runners (`automaker-runner-1..8`, `ava-staging`) become unused by CI and can be retired or repurposed.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated infrastructure configuration across multiple automated workflows to use a standardized runner environment.

Review Change Stack

Pulls 11 workflows off GitHub-hosted (\`ubuntu-latest\`) and ad-hoc
\`self-hosted\` onto \`namespace-profile-protolabs-linux\` — the same
runner already used by \`checks.yml\`, \`test.yml\`, and
\`langfuse-prompt-sync.yml\`. This stops consuming GitHub Actions
minutes for these workflows.

ubuntu-latest → namespace:
- code-review.yml
- idea-accepted.yml
- deploy-docs.yml
- close-external-prs.yml
- stale.yml
- triage.yml

self-hosted → namespace:
- auto-release.yml
- create-protolab-test.yml
- e2e-tests.yml
- regenerate-site.yml
- pr-check.yml

Untouched: \`deploy-main.yml\` (being removed in #3648 — was the only
workflow targeting the offline \`protolabs-main\` runner).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@mabry1985 mabry1985 enabled auto-merge (squash) May 24, 2026 00:36
@github-actions
Copy link
Copy Markdown
Contributor

ghost commented May 24, 2026

Code Review — ? finding(s)

Async review running parallel to CodeRabbit. Findings are advisory; not all are merge blockers.

protoLabs Code Review Report

  • Generated: 2026-05-24T00:37:00Z
  • Git head: 0126fec55c0e981077f243a60fbe95fd1bd423ae
  • Features mapped: 3
  • Findings: 0

No findings recorded.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 24, 2026

📝 Walkthrough

Walkthrough

All thirteen GitHub Actions workflows in .github/workflows/ are systematically updated to use a custom namespace-profile-protolabs-linux runner instead of generic (ubuntu-latest, self-hosted) runner labels. Job logic, triggers, permissions, and steps remain unchanged.

Changes

GitHub Actions Runner Standardization

Layer / File(s) Summary
Workflow runner migration to namespace-profile-protolabs-linux
.github/workflows/auto-release.yml, .github/workflows/pr-check.yml, .github/workflows/create-protolab-test.yml, .github/workflows/e2e-tests.yml, .github/workflows/deploy-docs.yml, .github/workflows/regenerate-site.yml, .github/workflows/code-review.yml, .github/workflows/close-external-prs.yml, .github/workflows/idea-accepted.yml, .github/workflows/stale.yml, .github/workflows/triage.yml
Each workflow job (release, build, ci-complete, test, summary, e2e, deploy, regenerate, review, close-external-pr, notify-acceptance, stale, and triage) updates runs-on from self-hosted or ubuntu-latest to namespace-profile-protolabs-linux.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🐰 Eleven workflows hop aboard,
A runner unified, by custom accord,
From self-hosted scattered to one branded home,
No logic changed—just where jobs roam! 🏃‍♂️✨

🚥 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 PR title clearly and accurately summarizes the main change: migrating 11 remaining GitHub Actions workflows to the namespace runner across multiple workflow files.
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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/migrate-workflows-to-namespace

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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/auto-release.yml:
- Line 24: The workflow uses a custom runner label
"namespace-profile-protolabs-linux" (seen in runs-on in
.github/workflows/auto-release.yml) but actionlint will fail unless that label
is declared in your actionlint config; update your actionlint configuration
(e.g., .actionlint.yml / .actionlint.yaml) to declare the custom runner label
(add an entry for "namespace-profile-protolabs-linux" under the runners/labels
section) so actionlint recognizes the runner and the CI lint step no longer
errors.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 84db9dad-3aff-4fd1-a616-548fdfce6f23

📥 Commits

Reviewing files that changed from the base of the PR and between cb587ab and 4d1445f.

📒 Files selected for processing (11)
  • .github/workflows/auto-release.yml
  • .github/workflows/close-external-prs.yml
  • .github/workflows/code-review.yml
  • .github/workflows/create-protolab-test.yml
  • .github/workflows/deploy-docs.yml
  • .github/workflows/e2e-tests.yml
  • .github/workflows/idea-accepted.yml
  • .github/workflows/pr-check.yml
  • .github/workflows/regenerate-site.yml
  • .github/workflows/stale.yml
  • .github/workflows/triage.yml

jobs:
release:
runs-on: self-hosted
runs-on: namespace-profile-protolabs-linux
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Configure actionlint for the custom runner label.

namespace-profile-protolabs-linux is valid for your infra, but actionlint will fail unless this custom label is declared in actionlint config. This blocks CI signal across all migrated workflows.

🔧 Suggested fix (centralized)
+# .github/actionlint.yaml (or existing actionlint config file)
+self-hosted-runner:
+  labels:
+    - namespace-profile-protolabs-linux
🧰 Tools
🪛 actionlint (1.7.12)

[error] 24-24: label "namespace-profile-protolabs-linux" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "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-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "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)

🤖 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/auto-release.yml at line 24, The workflow uses a custom
runner label "namespace-profile-protolabs-linux" (seen in runs-on in
.github/workflows/auto-release.yml) but actionlint will fail unless that label
is declared in your actionlint config; update your actionlint configuration
(e.g., .actionlint.yml / .actionlint.yaml) to declare the custom runner label
(add an entry for "namespace-profile-protolabs-linux" under the runners/labels
section) so actionlint recognizes the runner and the CI lint step no longer
errors.

@mabry1985 mabry1985 merged commit 1d5a9e5 into main May 24, 2026
12 checks passed
@mabry1985 mabry1985 deleted the chore/migrate-workflows-to-namespace branch May 24, 2026 00:39
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