Skip to content

ci: bump Node20-deprecated actions to Node24; cut runner costs - #781

Merged
jeffreyaven merged 4 commits into
mainfrom
ci/actions-hygiene-node24-runner-cost
Sep 20, 2026
Merged

jeffreyaven merged 4 commits into
mainfrom
ci/actions-hygiene-node24-runner-cost

Conversation

@jeffreyaven

Copy link
Copy Markdown
Member

Summary

  • Bumps all Node.js 20-deprecated actions flagged in recent build.yml runs (actions/checkout, setup-go, setup-python, upload/download-artifact, cache, docker/* actions, crazy-max/ghaction-chocolatey, Vampire/setup-wsl, aws-actions/configure-aws-credentials, azure/login, google-github-actions/auth) to their latest Node24-compatible releases, in build.yml and lint.yml.
  • Replaces custom/self-hosted runner labels (\ubuntu-22.04, \ubuntu-22-04-m, \ubuntu-22-04-arm64-m, \�rm-ubuntu-22-04-runner-one) with standard GitHub-hosted \ubuntu-latest\ / \ubuntu-24.04-arm, which are free/unlimited for this public repo, across test_python_package_build, linuxbuild, linuxtest, linuxarmbuild, dockerbuild, dockertest, dockermerge.
  • Prunes the now-unused self-hosted labels from .github/actionlint.yaml.
  • macOS (\macos-15, \macos-15-intel) and \windows-11-arm\ runners are left as-is: confirmed via GitHub docs these are already standard hosted images (free for public repos), required for their target architectures, so no cost win from changing them.

Test plan

  • \git diff-reviewed every changed line; validated resulting YAML parses (\yaml.safe_load).
  • Could not run \�ctionlint\ locally (Docker daemon unavailable in this sandbox) — relying on CI's own Lint workflow + build/robot workflows to validate on push.

jeffreyaven and others added 4 commits September 20, 2026 18:28
- Bump actions/checkout, actions/setup-go, actions/setup-python,
  actions/upload-artifact, actions/download-artifact, actions/cache,
  docker/build-push-action, docker/login-action, docker/metadata-action,
  docker/setup-buildx-action, docker/setup-qemu-action,
  crazy-max/ghaction-chocolatey, Vampire/setup-wsl,
  aws-actions/configure-aws-credentials, azure/login,
  google-github-actions/auth to their latest Node24-compatible releases
  in build.yml and lint.yml, resolving the Node.js 20 deprecation
  warnings surfaced across all build.yml jobs.
- Replace custom/self-hosted runner labels (ubuntu-22.04, ubuntu-22-04-m,
  ubuntu-22-04-arm64-m, arm-ubuntu-22-04-runner-one) with standard
  GitHub-hosted ubuntu-latest / ubuntu-24.04-arm, which are free and
  unlimited for this public repo, in test_python_package_build,
  linuxbuild, linuxtest, linuxarmbuild, dockerbuild, dockertest, and
  dockermerge jobs.
- Prune the now-unused self-hosted runner labels from
  .github/actionlint.yaml; macOS and windows-11-arm runners are left
  untouched since they are already standard GitHub-hosted images (free
  for public repos) and required for their target architectures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
setup-go v6+ sets GOTOOLCHAIN=local, so lint's pinned 1.23.0 no longer
auto-upgrades to satisfy go.mod's 'go 1.25.3' directive during
'go mod tidy', causing the Lint job to fail. Align with the version
already used by build.yml's setup-go steps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
setup-go v6+ pins GOTOOLCHAIN=local by default, so 'go install
golang.org/x/perf/cmd/benchstat@latest' fails when the module's latest
pseudo-version requires a newer Go than the pinned 1.25.3 toolchain.
Scope GOTOOLCHAIN=auto to just this install step so it can fetch
whatever toolchain that tool needs, without changing the toolchain
used to build/test the project itself.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jeffreyaven
jeffreyaven merged commit 2663ffa into main Sep 20, 2026
26 checks passed
@jeffreyaven
jeffreyaven deleted the ci/actions-hygiene-node24-runner-cost branch September 20, 2026 09:29
jeffreyaven added a commit that referenced this pull request Sep 20, 2026
Resolves the remaining Dependabot alert for actions/download-artifact
(arbitrary file write via artifact extraction, >= 4.0.0 < 4.1.3).
build.yml was already moved to v8.0.1 in #781 and mcp-packaging.yml is
already on v8, so this is the net change left over from #782, which
would otherwise have pinned everything to the Node20-based v5.

Supersedes #782.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
jeffreyaven pushed a commit that referenced this pull request Sep 20, 2026
- Bump Flask 3.0.3 -> 3.1.3 in cicd/requirements.txt (Dependabot).
- Bump actions/download-artifact v4.1.2 -> v8.0.1 in .github/workflows/scenario.yaml, resolving the remaining Dependabot alert for download-artifact (arbitrary file write via artifact extraction, >= 4.0.0 < 4.1.3). build.yml was moved to v8.0.1 in #781 and mcp-packaging.yml was already on v8. Supersedes #782, which would have pinned everything to the Node20-based v5.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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