Skip to content

fix(release): padronizar runners via vars.RUNNER_LABEL (shared workflows)#600

Merged
bedatty merged 8 commits into
developfrom
feat/runner-global-var
Jul 21, 2026
Merged

fix(release): padronizar runners via vars.RUNNER_LABEL (shared workflows)#600
bedatty merged 8 commits into
developfrom
feat/runner-global-var

Conversation

@gandalf-at-lerian

Copy link
Copy Markdown
Collaborator

Requested by: Bedatty — Padronizar runners via vars.RUNNER_LABEL para todos os workflows shared (exceto gitops e ungoliant que já têm lógica própria). PR equivalente ao #599 mas targetting develop.

bedatty and others added 4 commits July 20, 2026 14:51
br-sisbajud releases failed gitops-update with 'App br-sisbajud is not
registered in any cluster of the deployment matrix' and produced an empty
ArgoCD-sync target matrix. It deploys on benedita (dev-st/stg-st/prd-st/
stg-mt/sandbox) and anacleto (fuzzing+chaos, dev-st/dev-mt), so add it to
apps.registry and both clusters' apps lists.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@gandalf-at-lerian
gandalf-at-lerian requested a review from a team as a code owner July 21, 2026 17:23
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7d716703-fe27-496c-818b-08a4954bba24

📥 Commits

Reviewing files that changed from the base of the PR and between dceccbc and 985dc1e.

📒 Files selected for processing (2)
  • .github/workflows/go-fuzz.yml
  • .github/workflows/release-notification.yml

Summary by CodeRabbit

  • New Features

    • Added support for deploying the lender and br-sisbajud applications to the anacleto and benedita clusters.
  • Improvements

    • Automation workflows now support a centrally configured GitHub Actions runner override via GENERAL_RUNNERS, with fallbacks to existing runner settings.
    • Updated default runner selection in some reusable workflows to use ubuntu-latest (and restored specific defaults where applicable).

Walkthrough

Changes

The workflows now support vars.GENERAL_RUNNERS overrides with existing input or fixed-label fallbacks. Selected reusable workflow defaults and dry-run output were updated, and the deployment matrix registers lender and br-sisbajud for two clusters.

Configurable workflow runners

Layer / File(s) Summary
Workflow runner configuration
.github/workflows/*
Workflow jobs now resolve runners from vars.GENERAL_RUNNERS with workflow inputs or fixed labels as fallbacks; selected defaults and displayed dry-run runner values were aligned.
Application registration and cluster routing
config/deployment-matrix.yml
The registry and the anacleto and benedita cluster app lists now include lender and br-sisbajud.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested labels: github-config

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions vars.RUNNER_LABEL and release, but the PR actually standardizes runner selection across many workflows via vars.GENERAL_RUNNERS. Rename it to reflect the real scope and variable, e.g. standardizing shared workflow runners via vars.GENERAL_RUNNERS.
Description check ⚠️ Warning The description is just a brief note and does not include the required template sections for Description, Type of Change, Testing, or Related Issues. Fill in the template sections, list affected workflows and behavior changes, mark the change type, add testing evidence, and include related issue references.
✅ 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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/runner-global-var

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 2

🤖 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/api-dog-e2e-tests.yml:
- Line 52: Update the workflow job’s runs-on expression to make the
caller-provided inputs.runner_type authoritative, removing the unconditional
vars.RUNNER_LABEL fallback; only retain a runner-label override if it is
explicitly opt-in and cannot silently replace the supplied runner.

In @.github/workflows/go-fuzz.yml:
- Line 75: Define a single resolved runner value using the same precedence as
runs-on, preferring vars.RUNNER_LABEL over inputs.runner_type, and update both
the runs-on setting and the dry-run summary to reference it. Ensure dry-run
output reports this effective runner rather than the raw input.
🪄 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.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a0a0779e-7b02-4083-98fd-e7ccdf90a1ad

📥 Commits

Reviewing files that changed from the base of the PR and between c611ab9 and 6a65e6e.

📒 Files selected for processing (37)
  • .github/workflows/api-dog-e2e-tests.yml
  • .github/workflows/backmerge.yml
  • .github/workflows/branch-cleanup.yml
  • .github/workflows/build.yml
  • .github/workflows/dispatch-helm.yml
  • .github/workflows/end-to-end-tests.yml
  • .github/workflows/frontend-pr-analysis.yml
  • .github/workflows/go-ci.yml
  • .github/workflows/go-fuzz.yml
  • .github/workflows/go-lambda-release.yml
  • .github/workflows/go-pr-analysis.yml
  • .github/workflows/go-pr-validation.yml
  • .github/workflows/go-security.yml
  • .github/workflows/gptchangelog.yml
  • .github/workflows/helm-alpha-cleanup.yml
  • .github/workflows/helm-alpha-release.yml
  • .github/workflows/helm-release-notification.yml
  • .github/workflows/helm-update-chart.yml
  • .github/workflows/helm-upgrade-doc.yml
  • .github/workflows/js-pr-validation.yml
  • .github/workflows/labels-sync.yml
  • .github/workflows/lerian-lib-version-check.yml
  • .github/workflows/pr-security-scan.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .github/workflows/s3-upload.yml
  • .github/workflows/self-pr-validation.yml
  • .github/workflows/slack-notify.yml
  • .github/workflows/stale-issue.yml
  • .github/workflows/stale-pr.yml
  • .github/workflows/typescript-build.yml
  • .github/workflows/typescript-ci.yml
  • .github/workflows/typescript-release.yml
  • .github/workflows/version-propagation.yml
  • .github/workflows/workflow-runs-cleanup.yml
  • config/deployment-matrix.yml

Comment thread .github/workflows/api-dog-e2e-tests.yml Outdated
Comment thread .github/workflows/go-fuzz.yml Outdated
@lerian-studio lerian-studio added size/M PR changes 200–499 lines workflow Changes to one or more reusable workflow files typescript Changes to TypeScript or Frontend workflows security Changes to security workflows or vulnerability reporting policy golang Changes to Go-related workflows notify Changes to notification composite actions (src/notify/) validate Changes to PR validation composite actions (src/validate/) deployment-matrix Changes to the canonical deployment matrix (config/deployment-matrix.yml) routine Changes to periodic maintenance routines (self-routine.yml and related reusables) changelog Changes to changelog generation composite actions (src/changelog/) build Changes to build and artifact composite actions (src/build/) labels Jul 21, 2026
@lerian-studio

lerian-studio commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🔍 PR Validation Summary

✅ PR Mergeable — no blocking failures

Check Status Blocking
Source Branch ✅ success yes
PR Title ✅ success yes
PR Description ✅ success yes
PR Size ✅ success no
Auto Labels ✅ success no
PR Metadata ✅ success no

🔍 View workflow run

@lerian-studio

lerian-studio commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🛡️ CodeQL Analysis Results

Languages analyzed: actions

Found 2 issue(s): 2 Medium

Severity Rule File Message
🟡 Medium actions/untrusted-checkout/medium .github/workflows/build.yml:300 Potential unsafe checkout of untrusted pull request on non-privileged workflow.
🟡 Medium actions/untrusted-checkout/medium .github/workflows/version-propagation.yml:62 Potential unsafe checkout of untrusted pull request on non-privileged workflow.

🔍 View full scan logs | 🛡️ Security tab

@lerian-studio

lerian-studio commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🔍 Lint Analysis

Check Files Scanned Status
YAML Lint 35 file(s) ✅ success
Action Lint 34 file(s) ❌ failure
Pinned Actions 34 file(s) ❌ failure
Markdown Link Check no changes ⏭️ skipped
Spelling Check 35 file(s) ✅ success
Shell Check 34 file(s) ✅ success
README Check 34 file(s) ✅ success
Composite Schema no changes ⏭️ skipped
Deployment Matrix 1 file(s) ✅ success
❌ Failures (2)

Action Lint

.github

  • .github (line 610) — �[31m❌ [actionlint] The command ran successfully and some problem was found (found 4 errors, linted 34 files), exit code: 1�[0m

.github/workflows/go-ci.yml

  • .github/workflows/go-ci.yml (line 171) — shellcheck reported issue in this script: SC2162:info:13:39: read without -r will mangle backslashes
  • .github/workflows/go-ci.yml (line 171) — shellcheck reported issue in this script: SC2086:info:23:43: Double quote to prevent globbing and word splitting
  • .github/workflows/go-ci.yml (line 171) — shellcheck reported issue in this script: SC2086:info:15:15: Double quote to prevent globbing and word splitting
  • .github/workflows/go-ci.yml (line 171) — shellcheck reported issue in this script: SC2086:info:14:13: Double quote to prevent globbing and word splitting

Pinned Actions

.github/workflows/go-ci.yml

  • .github/workflows/go-ci.yml (line 162) — External action not pinned by SHA: uses: actions/checkout@v6.0.3 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 149) — External action not pinned by SHA: uses: golangci/golangci-lint-action@v9 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 143) — External action not pinned by SHA: uses: actions/setup-go@v6 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 140) — External action not pinned by SHA: uses: actions/checkout@v6.0.3 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 129) — External action not pinned by SHA: uses: fgrosse/go-coverage-report@v1.3.0 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 124) — External action not pinned by SHA: uses: actions/download-artifact@v8 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 121) — External action not pinned by SHA: uses: actions/checkout@v6.0.3 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 104) — External action not pinned by SHA: uses: actions/upload-artifact@v7 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 85) — External action not pinned by SHA: uses: actions/setup-go@v6 (use full commit SHA with a # vX.Y.Z comment)
  • .github/workflows/go-ci.yml (line 82) — External action not pinned by SHA: uses: actions/checkout@v6.0.3 (use full commit SHA with a # vX.Y.Z comment)
⚠️ Warnings (3)

Pinned Actions

.github

  • .github (line 175) — Found 2 internal action(s) not pinned to a version. Consider pinning to vX.Y.Z.

.github/workflows/release-notification.yml

  • .github/workflows/release-notification.yml (line 183) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/notify/slack-release@v1.18.0
  • .github/workflows/release-notification.yml (line 171) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/notify/discord-release@v1.18.0

🔍 View full scan logs

@bedatty bedatty changed the title feat: padronizar runners via vars.RUNNER_LABEL (shared workflows) fix(release): padronizar runners via vars.RUNNER_LABEL (shared workflows) Jul 21, 2026
vars.RUNNER_LABEL remains the primary runner selector; the secondary
fallback (when the var is unset) is now GitHub's own ubuntu-latest
runner instead of the blacksmith label, both in hardcoded runs-on
values and in runner_type input defaults. gitops-update.yml is
untouched — it has its own vars.GITOPS_RUNNERS fallback logic.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 7

🤖 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/branch-cleanup.yml:
- Line 48: The runs-on expressions in .github/workflows/branch-cleanup.yml:48,
.github/workflows/go-lambda-release.yml:73,
.github/workflows/helm-alpha-cleanup.yml:74,
.github/workflows/helm-alpha-release.yml:50, and
.github/workflows/labels-sync.yml:44 must use blacksmith-4vcpu-ubuntu-2404
instead of ubuntu-latest as the fallback, while preserving the existing
vars.RUNNER_LABEL override.

In @.github/workflows/build.yml:
- Line 27: Restore blacksmith-4vcpu-ubuntu-2404 for every listed default and
fallback runner setting: .github/workflows/build.yml lines 27-27, 185-185, and
276-276; .github/workflows/dispatch-helm.yml lines 91-91 and 100-100;
.github/workflows/frontend-pr-analysis.yml lines 24-24, 199-199, 223-223,
276-276, 322-322, 376-376, 452-452, 588-588, 641-641, 723-723, 777-777, 856-856,
910-910, 975-975, 1051-1051, and 1198-1198; .github/workflows/go-ci.yml lines
21-21 and 112-112; .github/workflows/typescript-build.yml lines 31-31, 162-162,
and 259-259; .github/workflows/typescript-release.yml lines 21-21, 47-47, and
101-101; and .github/workflows/backmerge.yml lines 48-48 and 140-140. Ensure all
reusable-workflow job defaults and fallbacks use the Blacksmith runner
consistently.

In @.github/workflows/go-fuzz.yml:
- Line 12: Restore blacksmith-4vcpu-ubuntu-2404 as the runner fallback across
.github/workflows/go-fuzz.yml lines 12-12 and 43-43,
.github/workflows/go-pr-analysis.yml lines 14-14,
.github/workflows/go-pr-validation.yml lines 14-14,
.github/workflows/go-release.yml lines 14-14, and
.github/workflows/go-security.yml lines 13-13. Update
.github/workflows/release-notification.yml line 114 to fall back to
blacksmith-4vcpu-ubuntu-2404 when vars.RUNNER_LABEL is unset, preserving the
reusable-workflow runner contract.

In @.github/workflows/gptchangelog.yml:
- Line 24: Pin every listed reusable-workflow runner to the Blacksmith label
instead of allowing runner_type or vars.RUNNER_LABEL to select the runner:
update .github/workflows/gptchangelog.yml at lines 24, 58, and 248;
.github/workflows/helm-update-chart.yml at lines 43 and 102;
.github/workflows/helm-upgrade-doc.yml at lines 24 and 72;
.github/workflows/js-pr-validation.yml at lines 14, 311, 379, 410, 429, and 438;
.github/workflows/js-release.yml at line 14; and
.github/workflows/lerian-lib-version-check.yml at lines 18 and 80. Ensure all
affected runs-on jobs, including js-release jobs using inputs.runner_type
directly, resolve to blacksmith-4vcpu-ubuntu-2404.

In @.github/workflows/pr-security-scan.yml:
- Line 16: Restore the runner default to blacksmith-4vcpu-ubuntu-2404 at
.github/workflows/pr-security-scan.yml:16-16,
.github/workflows/pr-validation.yml:15-15, .github/workflows/release.yml:30-30,
both .github/workflows/s3-upload.yml:36-36 and :83-83, and
.github/workflows/slack-notify.yml:35-35, preserving the existing
vars.RUNNER_LABEL || inputs.runner_type selectors so all reusable workflow jobs
use the required Blacksmith runner.

In @.github/workflows/release-notification.yml:
- Line 114: Update the dry-run summary in the release notification workflow to
print the effective runner resolved by the runs-on expression, including the
RUNNER_LABEL value when set and the ubuntu-latest fallback otherwise. Ensure
dry-run output reports every resolved input and computed variable without
changing runner selection.

In @.github/workflows/stale-issue.yml:
- Line 38: Update the runs-on fallback in .github/workflows/stale-issue.yml:38,
.github/workflows/stale-pr.yml:38, .github/workflows/version-propagation.yml:56,
and .github/workflows/workflow-runs-cleanup.yml:43 to use
blacksmith-4vcpu-ubuntu-2404 instead of ubuntu-latest, while preserving
vars.RUNNER_LABEL when it is set.
🪄 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.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: cd684910-132a-452d-9784-63c95d9177a9

📥 Commits

Reviewing files that changed from the base of the PR and between 6a65e6e and 30cffb8.

📒 Files selected for processing (34)
  • .github/workflows/backmerge.yml
  • .github/workflows/branch-cleanup.yml
  • .github/workflows/build.yml
  • .github/workflows/dispatch-helm.yml
  • .github/workflows/frontend-pr-analysis.yml
  • .github/workflows/go-ci.yml
  • .github/workflows/go-fuzz.yml
  • .github/workflows/go-lambda-release.yml
  • .github/workflows/go-pr-analysis.yml
  • .github/workflows/go-pr-validation.yml
  • .github/workflows/go-release.yml
  • .github/workflows/go-security.yml
  • .github/workflows/gptchangelog.yml
  • .github/workflows/helm-alpha-cleanup.yml
  • .github/workflows/helm-alpha-release.yml
  • .github/workflows/helm-update-chart.yml
  • .github/workflows/helm-upgrade-doc.yml
  • .github/workflows/js-pr-validation.yml
  • .github/workflows/js-release.yml
  • .github/workflows/labels-sync.yml
  • .github/workflows/lerian-lib-version-check.yml
  • .github/workflows/pr-security-scan.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .github/workflows/s3-upload.yml
  • .github/workflows/self-pr-validation.yml
  • .github/workflows/slack-notify.yml
  • .github/workflows/stale-issue.yml
  • .github/workflows/stale-pr.yml
  • .github/workflows/typescript-build.yml
  • .github/workflows/typescript-release.yml
  • .github/workflows/version-propagation.yml
  • .github/workflows/workflow-runs-cleanup.yml

Comment thread .github/workflows/branch-cleanup.yml Outdated
Comment thread .github/workflows/build.yml Outdated
Comment thread .github/workflows/go-fuzz.yml Outdated
Comment thread .github/workflows/gptchangelog.yml Outdated
Comment thread .github/workflows/pr-security-scan.yml Outdated
Comment thread .github/workflows/release-notification.yml Outdated
Comment thread .github/workflows/stale-issue.yml Outdated
Renamed vars.RUNNER_LABEL to vars.GENERAL_RUNNERS across all shared
workflows for clarity. gitops-update.yml (vars.GITOPS_RUNNERS) and the
Ungoliant release-diff jobs (vars.UNGOLIANT_RUNNERS) already use their
own dedicated runner variables and were not part of this rename.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 4

Caution

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

⚠️ Outside diff range comments (2)
.github/workflows/pr-validation.yml (1)

15-15: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Restore the shared Blacksmith runner defaults across reusable workflows.

These defaults collectively change the fallback execution environment from blacksmith-4vcpu-ubuntu-2404 to ubuntu-latest. Callers that omit runner_type can therefore lose runner-specific tooling, networking, or permissions.

  • .github/workflows/pr-validation.yml#L15-L15: restore the Blacksmith default for PR validation.
  • .github/workflows/release.yml#L30-L30: restore the workflow_call release default.
  • .github/workflows/release.yml#L83-L83: restore the manual-dispatch release default.
  • .github/workflows/s3-upload.yml#L36-L36: restore the reusable upload default.
  • .github/workflows/s3-upload.yml#L83-L83: restore the manual-dispatch upload default.
  • .github/workflows/slack-notify.yml#L35-L35: restore the notification default.
  • .github/workflows/typescript-build.yml#L31-L31: restore the TypeScript build default.

As per coding guidelines, reusable workflows must use blacksmith-4vcpu-ubuntu-2404. As per path instructions, preserve the shared runner contract.

🤖 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/pr-validation.yml at line 15, Restore the runner default
to blacksmith-4vcpu-ubuntu-2404 at .github/workflows/pr-validation.yml:15-15,
.github/workflows/release.yml:30-30 and 83-83,
.github/workflows/s3-upload.yml:36-36 and 83-83,
.github/workflows/slack-notify.yml:35-35, and
.github/workflows/typescript-build.yml:31-31. Preserve the shared runner
contract for all reusable workflow and manual-dispatch defaults.

Sources: Coding guidelines, Path instructions

.github/workflows/typescript-release.yml (1)

21-21: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Preserve the required Blacksmith runner default.

Changing the default to ubuntu-latest is a breaking behavior change for callers that omit runner_type; those jobs now run outside the repository’s required runner environment. Restore blacksmith-4vcpu-ubuntu-2404 as the default, and ensure any GENERAL_RUNNERS override is constrained to an approved Blacksmith label.

As per coding guidelines, all jobs in reusable workflows must use blacksmith-4vcpu-ubuntu-2404.

Proposed fix
-        default: ubuntu-latest
+        default: blacksmith-4vcpu-ubuntu-2404
🤖 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/typescript-release.yml at line 21, Restore the reusable
workflow’s runner default to blacksmith-4vcpu-ubuntu-2404 instead of
ubuntu-latest, and constrain any GENERAL_RUNNERS override to an approved
Blacksmith label so all jobs continue using the required runner environment.

Source: Coding guidelines

♻️ Duplicate comments (2)
.github/workflows/build.yml (1)

27-27: 🩺 Stability & Availability | 🟠 Major

Restore the Blacksmith defaults across reusable workflows.

These changes replace the required blacksmith-4vcpu-ubuntu-2404 fallback with ubuntu-latest, changing the environment for callers that omit runner_type.

  • .github/workflows/build.yml#L27-L27: restore the Blacksmith default.
  • .github/workflows/dispatch-helm.yml#L91-L91: restore the Blacksmith default.
  • .github/workflows/frontend-pr-analysis.yml#L24-L24: restore the Blacksmith default.
  • .github/workflows/go-ci.yml#L21-L21: restore the Blacksmith default.

As per coding guidelines, all jobs in reusable workflows must use blacksmith-4vcpu-ubuntu-2404.

🤖 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/build.yml at line 27, Restore the reusable-workflow runner
default to blacksmith-4vcpu-ubuntu-2404 at .github/workflows/build.yml:27-27,
.github/workflows/dispatch-helm.yml:91-91,
.github/workflows/frontend-pr-analysis.yml:24-24, and
.github/workflows/go-ci.yml:21-21, replacing ubuntu-latest in each runner_type
default.

Source: Coding guidelines

.github/workflows/gptchangelog.yml (1)

24-24: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Preserve the Blacksmith runner fallback for reusable workflows.

When vars.GENERAL_RUNNERS is unset, these changes resolve reusable-workflow jobs to ubuntu-latest, violating the repository requirement that reusable workflows use blacksmith-4vcpu-ubuntu-2404. Restore the Blacksmith default/fallback; if runner_type remains caller-overridable, ensure it cannot select unsupported runners.

  • .github/workflows/gptchangelog.yml#L24-L24: restore the runner_type default to blacksmith-4vcpu-ubuntu-2404.
  • .github/workflows/gptchangelog.yml#L58-L58: replace the ubuntu-latest path with the Blacksmith fallback.
  • .github/workflows/gptchangelog.yml#L248-L248: apply the same Blacksmith fallback.
  • .github/workflows/release-notification.yml#L114-L114: replace the ubuntu-latest fallback.
  • .github/workflows/stale-issue.yml#L38-L38: replace the ubuntu-latest fallback.
  • .github/workflows/stale-pr.yml#L38-L38: replace the ubuntu-latest fallback.
🤖 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/gptchangelog.yml at line 24, Restore the Blacksmith runner
fallback for reusable workflows: in .github/workflows/gptchangelog.yml lines 24,
58, and 248, set the runner_type default and GENERAL_RUNNERS fallbacks to
blacksmith-4vcpu-ubuntu-2404; apply the same fallback in
.github/workflows/release-notification.yml line 114,
.github/workflows/stale-issue.yml line 38, and .github/workflows/stale-pr.yml
line 38. Preserve caller overrides only when they select supported runners.

Sources: Coding guidelines, Path instructions

🤖 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/backmerge.yml:
- Line 48: Replace the ubuntu-latest fallback in the runs-on expressions at
.github/workflows/backmerge.yml lines 48-48 and 140-140,
.github/workflows/branch-cleanup.yml lines 48-48,
.github/workflows/go-lambda-release.yml line 73, and
.github/workflows/helm-alpha-cleanup.yml line 74 with
blacksmith-4vcpu-ubuntu-2404, while preserving the GENERAL_RUNNERS override.

In @.github/workflows/end-to-end-tests.yml:
- Line 78: Update the E2E workflow’s runs-on expression to keep the
caller-provided inputs.runner_type authoritative, rather than unconditionally
preferring vars.GENERAL_RUNNERS. If retaining the variable fallback, make it
explicitly opt-in while preserving the ability to select network-specific
runners such as eveo-lxc-runners.

In @.github/workflows/helm-alpha-release.yml:
- Line 50: Update the runs-on fallback in
.github/workflows/helm-alpha-release.yml at line 50 and
.github/workflows/labels-sync.yml at line 44 to use blacksmith-4vcpu-ubuntu-2404
instead of ubuntu-latest, while preserving the vars.GENERAL_RUNNERS override.

In @.github/workflows/version-propagation.yml:
- Line 56: Replace the dynamic runner fallback with the fixed approved runner
label blacksmith-4vcpu-ubuntu-2404 for the propagation/signing job in
.github/workflows/version-propagation.yml at lines 56-56, lint-and-typecheck,
build-and-test, security-audit, and docs in .github/workflows/typescript-ci.yml
at lines 79-79, 113-113, 171-171, and 218-218, and destructive cleanup in
.github/workflows/workflow-runs-cleanup.yml at line 43.

---

Outside diff comments:
In @.github/workflows/pr-validation.yml:
- Line 15: Restore the runner default to blacksmith-4vcpu-ubuntu-2404 at
.github/workflows/pr-validation.yml:15-15, .github/workflows/release.yml:30-30
and 83-83, .github/workflows/s3-upload.yml:36-36 and 83-83,
.github/workflows/slack-notify.yml:35-35, and
.github/workflows/typescript-build.yml:31-31. Preserve the shared runner
contract for all reusable workflow and manual-dispatch defaults.

In @.github/workflows/typescript-release.yml:
- Line 21: Restore the reusable workflow’s runner default to
blacksmith-4vcpu-ubuntu-2404 instead of ubuntu-latest, and constrain any
GENERAL_RUNNERS override to an approved Blacksmith label so all jobs continue
using the required runner environment.

---

Duplicate comments:
In @.github/workflows/build.yml:
- Line 27: Restore the reusable-workflow runner default to
blacksmith-4vcpu-ubuntu-2404 at .github/workflows/build.yml:27-27,
.github/workflows/dispatch-helm.yml:91-91,
.github/workflows/frontend-pr-analysis.yml:24-24, and
.github/workflows/go-ci.yml:21-21, replacing ubuntu-latest in each runner_type
default.

In @.github/workflows/gptchangelog.yml:
- Line 24: Restore the Blacksmith runner fallback for reusable workflows: in
.github/workflows/gptchangelog.yml lines 24, 58, and 248, set the runner_type
default and GENERAL_RUNNERS fallbacks to blacksmith-4vcpu-ubuntu-2404; apply the
same fallback in .github/workflows/release-notification.yml line 114,
.github/workflows/stale-issue.yml line 38, and .github/workflows/stale-pr.yml
line 38. Preserve caller overrides only when they select supported runners.
🪄 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.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e7af549d-192d-4c84-8879-e90846b2581b

📥 Commits

Reviewing files that changed from the base of the PR and between 30cffb8 and 3e4333c.

📒 Files selected for processing (36)
  • .github/workflows/api-dog-e2e-tests.yml
  • .github/workflows/backmerge.yml
  • .github/workflows/branch-cleanup.yml
  • .github/workflows/build.yml
  • .github/workflows/dispatch-helm.yml
  • .github/workflows/end-to-end-tests.yml
  • .github/workflows/frontend-pr-analysis.yml
  • .github/workflows/go-ci.yml
  • .github/workflows/go-fuzz.yml
  • .github/workflows/go-lambda-release.yml
  • .github/workflows/go-pr-analysis.yml
  • .github/workflows/go-pr-validation.yml
  • .github/workflows/go-security.yml
  • .github/workflows/gptchangelog.yml
  • .github/workflows/helm-alpha-cleanup.yml
  • .github/workflows/helm-alpha-release.yml
  • .github/workflows/helm-release-notification.yml
  • .github/workflows/helm-update-chart.yml
  • .github/workflows/helm-upgrade-doc.yml
  • .github/workflows/js-pr-validation.yml
  • .github/workflows/labels-sync.yml
  • .github/workflows/lerian-lib-version-check.yml
  • .github/workflows/pr-security-scan.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .github/workflows/s3-upload.yml
  • .github/workflows/self-pr-validation.yml
  • .github/workflows/slack-notify.yml
  • .github/workflows/stale-issue.yml
  • .github/workflows/stale-pr.yml
  • .github/workflows/typescript-build.yml
  • .github/workflows/typescript-ci.yml
  • .github/workflows/typescript-release.yml
  • .github/workflows/version-propagation.yml
  • .github/workflows/workflow-runs-cleanup.yml

Comment thread .github/workflows/backmerge.yml Outdated
Comment thread .github/workflows/end-to-end-tests.yml Outdated
Comment thread .github/workflows/helm-alpha-release.yml Outdated
Comment thread .github/workflows/version-propagation.yml Outdated
…ritative

Addresses CodeRabbit findings on PR #600:
- Restore blacksmith-4vcpu-ubuntu-2404 (or 'blacksmith' for gptchangelog.yml,
  matching its pre-existing value) as the final fallback/default across all
  reusable workflows, per the repo's documented runner policy
  (.claude/commands/gha.md, workflow.md). vars.GENERAL_RUNNERS remains the
  primary override.
- api-dog-e2e-tests.yml and end-to-end-tests.yml: drop the vars.GENERAL_RUNNERS
  override entirely — these jobs require network-reachable runners
  (eveo-lxc-runners) and must keep inputs.runner_type authoritative.
- go-fuzz.yml and release-notification.yml: dry-run summaries now report the
  effective resolved runner instead of the raw input.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 3

🤖 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/go-fuzz.yml:
- Line 91: Update the dry-run summary step in the workflow to pass the resolved
runner value through the step’s env configuration, then echo the environment
variable instead of interpolating inputs.runner_type directly in the run script.
Leave the runs-on configuration unchanged.

In @.github/workflows/release-notification.yml:
- Line 152: Update the dry-run step containing the runner echo to resolve
GENERAL_RUNNERS through the step’s env configuration, including its existing
default, and print the resulting shell variable instead of interpolating
vars.GENERAL_RUNNERS directly in the run block. Preserve the displayed fallback
value while preventing runner labels from altering the generated shell script.

In @.github/workflows/version-propagation.yml:
- Line 56: Replace the dynamic GENERAL_RUNNERS overrides with the approved
blacksmith-4vcpu-ubuntu-2404 runner for the affected jobs:
.github/workflows/version-propagation.yml:56, .github/workflows/stale-pr.yml:38,
.github/workflows/typescript-build.yml:162 and :259,
.github/workflows/typescript-release.yml:47 and :101, and
.github/workflows/workflow-runs-cleanup.yml:43. Ensure all reusable-workflow
jobs use this fixed approved runner and cannot be redirected through an
unvalidated variable.
🪄 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.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a83eb12b-a6de-4e7c-8c03-2e2b2387c32f

📥 Commits

Reviewing files that changed from the base of the PR and between 3e4333c and dceccbc.

📒 Files selected for processing (34)
  • .github/workflows/backmerge.yml
  • .github/workflows/branch-cleanup.yml
  • .github/workflows/build.yml
  • .github/workflows/dispatch-helm.yml
  • .github/workflows/frontend-pr-analysis.yml
  • .github/workflows/go-ci.yml
  • .github/workflows/go-fuzz.yml
  • .github/workflows/go-lambda-release.yml
  • .github/workflows/go-pr-analysis.yml
  • .github/workflows/go-pr-validation.yml
  • .github/workflows/go-security.yml
  • .github/workflows/gptchangelog.yml
  • .github/workflows/helm-alpha-cleanup.yml
  • .github/workflows/helm-alpha-release.yml
  • .github/workflows/helm-release-notification.yml
  • .github/workflows/helm-update-chart.yml
  • .github/workflows/helm-upgrade-doc.yml
  • .github/workflows/js-pr-validation.yml
  • .github/workflows/labels-sync.yml
  • .github/workflows/lerian-lib-version-check.yml
  • .github/workflows/pr-security-scan.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .github/workflows/s3-upload.yml
  • .github/workflows/self-pr-validation.yml
  • .github/workflows/slack-notify.yml
  • .github/workflows/stale-issue.yml
  • .github/workflows/stale-pr.yml
  • .github/workflows/typescript-build.yml
  • .github/workflows/typescript-ci.yml
  • .github/workflows/typescript-release.yml
  • .github/workflows/version-propagation.yml
  • .github/workflows/workflow-runs-cleanup.yml

Comment thread .github/workflows/go-fuzz.yml Outdated
Comment thread .github/workflows/release-notification.yml Outdated
Comment thread .github/workflows/version-propagation.yml
Addresses CodeRabbit/zizmor template-injection findings on go-fuzz.yml:91 and
release-notification.yml:152. The resolved runner (vars.GENERAL_RUNNERS ||
input/literal) is now passed through a step-level env var and printed via the
shell variable instead of being interpolated directly into the run: block.
@bedatty
bedatty merged commit fc099c6 into develop Jul 21, 2026
17 of 19 checks passed
@github-actions
github-actions Bot deleted the feat/runner-global-var branch July 21, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Changes to build and artifact composite actions (src/build/) changelog Changes to changelog generation composite actions (src/changelog/) deployment-matrix Changes to the canonical deployment matrix (config/deployment-matrix.yml) golang Changes to Go-related workflows notify Changes to notification composite actions (src/notify/) routine Changes to periodic maintenance routines (self-routine.yml and related reusables) security Changes to security workflows or vulnerability reporting policy size/M PR changes 200–499 lines typescript Changes to TypeScript or Frontend workflows validate Changes to PR validation composite actions (src/validate/) workflow Changes to one or more reusable workflow files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants