Skip to content

Conversation

@salmanmkc
Copy link
Contributor

@salmanmkc salmanmkc commented Jan 25, 2026

Summary

Upgrade GitHub Actions to their latest versions to ensure compatibility with Node 24, as Node 20 will reach end-of-life in April 2026.

Changes

Action Old Version(s) New Version Release Files
actions/cache 2f8e542 8b402f5 Release bundle-desktop-intel.yml, bundle-desktop-linux.yml, bundle-desktop-windows.yml, bundle-desktop.yml, ci.yml, deploy-docs-and-extensions.yml
actions/checkout 08eba0b, 11bd719, 93cb6ef, f43a0e5, v4 8e8c483 Release build-cli.yml, bundle-desktop-intel.yml, bundle-desktop-linux.yml, bundle-desktop-windows.yml, bundle-desktop.yml, canary.yml, check-release-pr.yaml, ci.yml, create-release-pr.yaml, deploy-docs-and-extensions.yml, docs-update-recipe-ref.yml, goose-issue-solver.yml, goose-pr-reviewer.yml, merge-release-pr-on-tag.yaml, nightly.yml, pr-comment-build-cli.yml, pr-comment-bundle-intel.yml, pr-comment-bundle-windows.yml, pr-smoke-test.yml, pr-website-preview.yml, publish-docker.yml, quarantine.yml, recipe-security-scanner.yml, release.yml, scorecard.yml, test-finder.yml, update-hacktoberfest-leaderboard.yml, update-release-pr.yaml
actions/download-artifact cc20338, v4 v7 Release canary.yml, nightly.yml, pr-comment-build-cli.yml, pr-comment-bundle-intel.yml, pr-comment-bundle-windows.yml, pr-comment-bundle.yml, pr-smoke-test.yml, release.yml
actions/github-script v7 v8 Release pr-comment-bundle.yml, recipe-security-scanner.yml, update-hacktoberfest-leaderboard.yml, update-health-dashboard.yml
actions/setup-node 1a4442c, 3235b87 6044e13 Release bundle-desktop-windows.yml, deploy-docs-and-extensions.yml, docs-update-recipe-ref.yml, pr-website-preview.yml
actions/setup-python v5 v6 Release pr-smoke-test.yml
actions/upload-artifact 4cec3d8, ea165f8, v4 b7c566a Release build-cli.yml, bundle-desktop-intel.yml, bundle-desktop-linux.yml, bundle-desktop-windows.yml, bundle-desktop.yml, canary.yml, docs-update-recipe-ref.yml, nightly.yml, pr-smoke-test.yml, recipe-security-scanner.yml, release.yml, scorecard.yml, update-health-dashboard.yml

Context

Per GitHub's announcement, Node 20 is being deprecated and runners will begin using Node 24 by default starting March 4th, 2026.

Why this matters

  • Node 20 EOL: April 2026
  • Node 24 default: March 4th, 2026
  • Action: Update to latest action versions that support Node 24

Security Note

Actions that were previously pinned to commit SHAs remain pinned to SHAs (updated to the latest release SHA) to maintain the security benefits of immutable references.

Testing

These changes only affect CI/CD workflow configurations and should not impact application functionality. The workflows should be tested by running them on a branch before merging.

Copilot AI review requested due to automatic review settings January 25, 2026 00:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates GitHub Actions dependencies across CI/CD workflows to versions compatible with the upcoming Node 24 runtime on GitHub-hosted runners.

Changes:

  • Bumps actions/checkout, actions/cache, actions/upload-artifact, actions/download-artifact, actions/github-script, actions/setup-node, and actions/setup-python to newer major versions.
  • Refreshes many action references from older SHAs/tags to newer release SHAs/tags across build, release, and automation workflows.

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
.github/workflows/update-release-pr.yaml Updates actions/checkout pin used for release-note automation.
.github/workflows/update-health-dashboard.yml Updates actions/github-script and actions/upload-artifact for dashboard automation.
.github/workflows/update-hacktoberfest-leaderboard.yml Updates actions/checkout and actions/github-script for leaderboard automation.
.github/workflows/test-finder.yml Updates actions/checkout pin used by the test discovery workflow.
.github/workflows/scorecard.yml Updates actions/checkout and actions/upload-artifact pins used by Scorecard.
.github/workflows/release.yml Updates actions/checkout, actions/upload-artifact, and actions/download-artifact pins in release workflow.
.github/workflows/recipe-security-scanner.yml Updates actions/checkout, actions/upload-artifact, and actions/github-script used by recipe scanning.
.github/workflows/quarantine.yml Updates actions/checkout pin used by quarantine checks.
.github/workflows/publish-docker.yml Updates actions/checkout pin used for Docker publishing.
.github/workflows/pr-website-preview.yml Updates actions/checkout and actions/setup-node pins used for site previews.
.github/workflows/pr-smoke-test.yml Updates checkout/artifact/python actions used in smoke testing.
.github/workflows/pr-comment-bundle.yml Updates actions/github-script and actions/download-artifact used for PR bundle comments.
.github/workflows/pr-comment-bundle-windows.yml Updates actions/checkout and actions/download-artifact used for Windows bundle PR comments.
.github/workflows/pr-comment-bundle-intel.yml Updates actions/checkout and actions/download-artifact used for Intel bundle PR comments.
.github/workflows/pr-comment-build-cli.yml Updates actions/checkout and actions/download-artifact used for CLI build PR comments.
.github/workflows/nightly.yml Updates checkout/upload/download actions used in nightly pipeline.
.github/workflows/merge-release-pr-on-tag.yaml Updates actions/checkout pin used in tag-merge automation.
.github/workflows/goose-pr-reviewer.yml Updates actions/checkout pin used in PR reviewer automation.
.github/workflows/goose-issue-solver.yml Updates actions/checkout pin used in issue solver automation.
.github/workflows/docs-update-recipe-ref.yml Updates actions/checkout, actions/setup-node, and actions/upload-artifact used by docs automation.
.github/workflows/deploy-docs-and-extensions.yml Updates actions/checkout, actions/setup-node, and actions/cache used by docs deployment.
.github/workflows/create-release-pr.yaml Updates actions/checkout pin used to generate release PRs.
.github/workflows/ci.yml Updates actions/checkout and actions/cache pins used in CI.
.github/workflows/check-release-pr.yaml Updates actions/checkout pin used for release PR checks.
.github/workflows/canary.yml Updates checkout/upload/download action pins used by canary pipeline.
.github/workflows/bundle-desktop.yml Updates checkout/cache/upload action pins used by desktop bundling.
.github/workflows/bundle-desktop-windows.yml Updates checkout/setup-node/cache/upload action pins used by Windows desktop bundling.
.github/workflows/bundle-desktop-linux.yml Updates checkout/cache/upload action pins used by Linux desktop bundling.
.github/workflows/bundle-desktop-intel.yml Updates checkout/cache/upload action pins used by Intel macOS desktop bundling.
.github/workflows/build-cli.yml Updates checkout/upload action pins used by CLI build workflow.
Comments suppressed due to low confidence (2)

.github/workflows/pr-smoke-test.yml:176

  • actions/download-artifact@v7 is referenced by tag here; pin it to a specific commit SHA to keep reruns deterministic and consistent with other pinned workflows.
      - name: Download Binary
        uses: actions/download-artifact@v7

.github/workflows/recipe-security-scanner.yml:333

  • actions/github-script@v8 is referenced by tag here; pin to a commit SHA (consistent with other pinned actions in this workflow like step-security/harden-runner).
      - name: Set GitHub status check
        if: always() && steps.find_recipes.outputs.has_recipes == 'true' && steps.recipe_changes.outputs.recipe_files_changed == 'true'
        uses: actions/github-script@v8

@DOsinga DOsinga requested a review from zanesq January 26, 2026 13:25
@zanesq
Copy link
Collaborator

zanesq commented Jan 26, 2026

@salmanmkc thanks! can you look at the copilot reviews we do want them pinned if possible

@salmanmkc
Copy link
Contributor Author

@salmanmkc thanks! can you look at the copilot reviews we do want them pinned if possible

Sure will pin them

@salmanmkc salmanmkc force-pushed the upgrade-github-actions-node24 branch from 5895c43 to e3dc2f5 Compare January 26, 2026 19:38
Signed-off-by: Salman Muin Kayser Chishti <[email protected]>
@salmanmkc salmanmkc force-pushed the upgrade-github-actions-node24 branch from e3dc2f5 to 74108e8 Compare January 26, 2026 19:43
Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

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

LGTM thanks! We'll go ahead and merge this so we can run the actions from main and we can revert if any issues.

@salmanmkc
Copy link
Contributor Author

LGTM thanks! We'll go ahead and merge this so we can run the actions from main and we can revert if any issues.

sounds good to me!

@zanesq
Copy link
Collaborator

zanesq commented Jan 28, 2026

Merged manually via command line due to GitHub UI merge check being stuck.

@zanesq zanesq closed this Jan 28, 2026
lifeizhou-ap added a commit that referenced this pull request Jan 28, 2026
* main: (47 commits)
  Upgrade error handling (#6747)
  Fix/filter audience 6703 local (#6773)
  chore: re-sync package-lock.json (#6783)
  upgrade electron to 39.3.0 (#6779)
  allow skipping providers in test_providers.sh (#6778)
  fix: enable custom model entry for OpenRouter provider (#6761)
  Remove codex skills flag support (#6775)
  Improve mcp test (#6671)
  Feat/anthropic custom headers (#6774)
  Fix/GitHub copilot error handling 5845 (#6771)
  fix(ui): respect width parameter in MCP app size-changed notifications (#6376)
  fix: address compilation issue in main (#6776)
  Upgrade GitHub Actions for Node 24 compatibility (#6699)
  fix(google): preserve thought signatures in streaming responses (#6708)
  added reduce motion support for css animations and streaming text (#6551)
  fix: Re-enable subagents for Gemini models (#6513)
  fix(google): use parametersJsonSchema for full JSON Schema support (#6555)
  fix: respect GOOSE_CLI_MIN_PRIORITY for shell streaming output (#6558)
  feat: add requires_auth flag for custom providers without authentication (#6705)
  fix: normalize extension names consistently in ExtensionManager (#6529)
  ...
michaelneale added a commit that referenced this pull request Jan 29, 2026
* main: (30 commits)
  Different approach to determining final confidence level of prompt injection evaluation outcomes (#6729)
  fix: read_resource_tool deadlock causing test_compaction to hang (#6737)
  Upgrade error handling (#6747)
  Fix/filter audience 6703 local (#6773)
  chore: re-sync package-lock.json (#6783)
  upgrade electron to 39.3.0 (#6779)
  allow skipping providers in test_providers.sh (#6778)
  fix: enable custom model entry for OpenRouter provider (#6761)
  Remove codex skills flag support (#6775)
  Improve mcp test (#6671)
  Feat/anthropic custom headers (#6774)
  Fix/GitHub copilot error handling 5845 (#6771)
  fix(ui): respect width parameter in MCP app size-changed notifications (#6376)
  fix: address compilation issue in main (#6776)
  Upgrade GitHub Actions for Node 24 compatibility (#6699)
  fix(google): preserve thought signatures in streaming responses (#6708)
  added reduce motion support for css animations and streaming text (#6551)
  fix: Re-enable subagents for Gemini models (#6513)
  fix(google): use parametersJsonSchema for full JSON Schema support (#6555)
  fix: respect GOOSE_CLI_MIN_PRIORITY for shell streaming output (#6558)
  ...
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