Skip to content

ci: read the Ubuntu runner version from UBUNTU_RUNNER_VERSION and refresh Node 20 actions - #71

Open
dcolina wants to merge 1 commit into
mainfrom
issue-740-ubuntu-runner-variable
Open

dcolina wants to merge 1 commit into
mainfrom
issue-740-ubuntu-runner-variable

Conversation

@dcolina

@dcolina dcolina commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The nine runs-on: ubuntu-latest labels (the route job of the orchestrator, the autodoc executor, deployment-guard and this repo's own tests) now read ubuntu-${{ vars.UBUNTU_RUNNER_VERSION || '24.04' }}.
  • The runner input of the orchestrator and the four executors defaulted to ubuntu-latest, so every caller that does not pass runner would move to Ubuntu 26.04 on GitHub's schedule. The default is now empty and the executors fall back to ubuntu- plus the variable, 24.04 when unset. A caller that passes runner explicitly keeps its value.
  • Node 20 actions: actions/github-script v7.1.0 to v9.0.0 (two steps in deployment-guard) and actions/upload-artifact v4.6.0 to v7.0.2 (autodoc report). Both stay SHA-pinned with the version comment.
  • README, CLAUDE.md and the examples no longer show ubuntu-latest.

Why

GitHub moves ubuntu-latest to Ubuntu 26.04 gradually between 2026-10-19 and 2026-11-19 (https://github.blog/changelog/2026-09-17-ubuntu-26-generally-available-and-latest-migration). With this change every job stays on ubuntu-24.04 until the variable says otherwise. Found while rolling this out in atmosphere: the route job of the Claude review ran on ubuntu-latest even when the caller passed runner.

Notes

  • In a reusable workflow, vars is the calling repository's variables, so each caller decides through its own UBUNTU_RUNNER_VERSION. Callers pinned to @v3 pick this up on the next release of the tag; releasing is a separate step.
  • actions/github-script v9 breaks require('@actions/github') inside scripts; no script in this repo uses it. actions/upload-artifact v7 keeps zipping a single file by default, and this repo uploads one file with the same name and retention.
  • actionlint reports no findings before or after.

Refs dotCMS/private-issues#740

@dcolina
dcolina requested review from a team as code owners October 15, 2026 14:26
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

🤖 Bedrock Review — qwen.qwen3-next-80b-a3b

New Issues

  • 🟠 High: .github/workflows/autodoc-executor.yml:63 — format('ubuntu-{0}', vars.UBUNTU_RUNNER_VERSION || '24.04') is used in bedrock-generic-executor.yml, bedrock-harness-executor.yml, claude-executor.yml, claude-orchestrator.yml, codex-executor.yml, and deployment-guard.yml, but format() is not a valid GitHub Actions function. The correct syntax is ${{ format('ubuntu-{0}', vars.UBUNTU_RUNNER_VERSION || '24.04') }} — this will fail at runtime because format() is not recognized as a function in this context. GitHub Actions only supports format() inside steps or outputs with explicit format() function usage in expressions, but not as a top-level expression in runs-on without proper context. This is a logic error that breaks workflow execution.
  • 🟠 High: .github/workflows/autodoc-executor.yml:63 — vars.UBUNTU_RUNNER_VERSION is referenced but not declared in on: workflow_call or on: workflow_dispatch inputs. If the calling workflow does not define this variable, the expression falls back to '24.04', but the variable is not documented as a required repository variable. This creates a silent dependency on an undocumented variable, risking workflow failure in repos without it.

Existing

  • 🟡 Medium: .github/workflows/autodoc-executor.yml:63 — ubuntu-${{ vars.UBUNTU_RUNNER_VERSION || '24.04' }} is used in multiple files, but vars.UBUNTU_RUNNER_VERSION is not guaranteed to exist in all calling repositories. This is a pre-existing issue not introduced by this PR but still present.

Resolved

  • ✅ .github/workflows/autodoc-executor.yml:63 — ubuntu-latest replaced with dynamic version — this is an improvement, but the new syntax introduces a new bug (see above).

Run: #38751396437 · tokens: in: 5582 · out: 562 · total: 6144

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.

2 participants