Skip to content

Bump third-party GitHub Actions to node24-runtime releases - #1780

Open
stevejalim wants to merge 2 commits into
mainfrom
claude/springfield-node-24-upgrade-a77056
Open

Bump third-party GitHub Actions to node24-runtime releases#1780
stevejalim wants to merge 2 commits into
mainfrom
claude/springfield-node-24-upgrade-a77056

Conversation

@stevejalim

Copy link
Copy Markdown
Contributor

Summary

  • GitHub is forcing node24 as the default Actions runtime from 2026-06-02 and removing node20 from runners entirely on 2026-09-16.
  • Bumps every third-party action used across .github/workflows/*.yml to the first release where its action.yml runtime moved to node24, SHA-pinned per the repo's existing convention (@<sha> # vX.Y.Z):
    • actions/checkout → v7.0.1 (v4 never got node24 — four workflows were still on that floating tag)
    • actions/setup-node → v6.5.0
    • actions/upload-artifact → v7.0.1
    • actions/cache → v6.1.0
    • actions/setup-python → v7.0.0
    • codecov/codecov-action → v7.0.0 (v5 still unconditionally runs a nested node20 actions/github-script step, so it doesn't actually fix anything — v6 is the real minimum)
    • docker/login-action → v4.6.0
    • docker/setup-buildx-action → v4.3.0
    • google-github-actions/auth → v3.0.0
    • google-github-actions/setup-gcloud → v3.0.1
  • No with: input changes were needed — each action's input contract for the fields springfield actually sets is unchanged across these version ranges (verified by diffing action.yml at old vs. new tags, not just release notes).

Test plan

  • CI runs green on this PR (exercises checkout/setup-node/upload-artifact/cache/setup-python/codecov-action/docker+GCP auth actions across the various workflows)
  • Spot-check the build-and-push and db_sync workflows on a subsequent run, since those touch Docker/GCP auth and aren't otherwise exercised by this PR

GitHub is forcing node24 as the default Actions runtime from 2026-06-02
and removing node20 from runners entirely on 2026-09-16. This bumps every
third-party action used across the workflows to the first release where
its action.yml runtime moved to node24, SHA-pinned per the repo's existing
convention:

- actions/checkout -> v7.0.1 (v4 never got node24 - four workflows were
  still on that floating tag)
- actions/setup-node -> v6.5.0
- actions/upload-artifact -> v7.0.1
- actions/cache -> v6.1.0
- actions/setup-python -> v7.0.0
- codecov/codecov-action -> v7.0.0 (v5 still unconditionally runs a
  nested node20 actions/github-script step, so it doesn't actually fix
  anything - v6 is the real minimum)
- docker/login-action -> v4.6.0
- docker/setup-buildx-action -> v4.3.0
- google-github-actions/auth -> v3.0.0
- google-github-actions/setup-gcloud -> v3.0.1

No with: input changes were needed - every action's input contract for
the fields springfield actually sets is unchanged across these version
ranges.
@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.28%. Comparing base (dd3370c) to head (1fbe94c).
⚠️ Report is 16 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1780      +/-   ##
==========================================
+ Coverage   88.29%   89.28%   +0.98%     
==========================================
  Files         180      180              
  Lines       12737    12859     +122     
==========================================
+ Hits        11246    11481     +235     
+ Misses       1491     1378     -113     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@stevejalim
stevejalim requested review from janbrasna and a lite review from Copilot and removed request for janbrasna September 1, 2026 12:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the repository’s GitHub Actions workflows to use third-party action releases that run on the Node 24 Actions runtime (SHA-pinned), aligning CI/CD with GitHub’s upcoming node20 runner removal.

Changes:

  • Bump actions/* dependencies across workflows (checkout/setup-node/setup-python/cache/upload-artifact) to Node 24–runtime releases, pinned by commit SHA.
  • Bump other third-party actions used in workflows (Codecov, Docker, Google auth/gcloud) to Node 24–runtime releases, pinned by commit SHA.
  • Standardize previously floating tags (e.g., actions/checkout@v6) onto SHA pins per the repo’s convention.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/visual_regression_tests.yml Updates checkout/setup-node/cache/buildx/upload-artifact to Node 24–runtime, SHA-pinned releases.
.github/workflows/unit_tests.yml Pins checkout/setup-node and updates Codecov + upload-artifact to Node 24–runtime, SHA-pinned releases.
.github/workflows/send_firefox_fluent_strings_to_l10n_org.yml Updates checkout to Node 24–runtime, SHA-pinned release.
.github/workflows/release.yml Updates checkout steps to Node 24–runtime, SHA-pinned release.
.github/workflows/post_deploy_asset_check.yml Updates checkout to Node 24–runtime, SHA-pinned release for Slack action usage.
.github/workflows/integration_tests.yml Updates checkout/setup-node/upload-artifact to Node 24–runtime, SHA-pinned releases.
.github/workflows/generate-gh-release-note.yml Updates checkout to Node 24–runtime, SHA-pinned release.
.github/workflows/fluent_linter.yml Updates checkout + setup-python to Node 24–runtime, SHA-pinned releases.
.github/workflows/ensure_pre_commit_standards.yml Updates checkout/setup-python/setup-node/cache to Node 24–runtime, SHA-pinned releases.
.github/workflows/download_tests.yml Updates checkout + upload-artifact to Node 24–runtime, SHA-pinned releases.
.github/workflows/db_sync.yml Updates Google auth + setup-gcloud to Node 24–runtime, SHA-pinned releases.
.github/workflows/cdn_tests.yml Updates checkout + upload-artifact to Node 24–runtime, SHA-pinned releases.
.github/workflows/build-and-push.yml Updates buildx/login/auth/setup-gcloud/checkout to Node 24–runtime, SHA-pinned releases.
.github/workflows/a11y_tests.yml Updates checkout/setup-node/upload-artifact to Node 24–runtime, SHA-pinned releases.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/a11y_tests.yml Outdated
Comment on lines +38 to +42
PLAYWRIGHT_BASE_URL: ${{ github.event.inputs.springfield_service_hostname || 'https://dev.springfield.nonprod.webservices.mozgcp.net' }}
CI: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch — fixed in 1fbe94c, re-indented the accessibility-tests job's step list to match the rest of the file.

The accessibility-tests job used an indentless sequence for steps
(list items flush with steps:), unlike every other job in the file.
Re-indent to match.
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