Migrate third-party GHA actions off deprecated node20/node16 runtimes#92136
Draft
mountiny wants to merge 3 commits into
Draft
Migrate third-party GHA actions off deprecated node20/node16 runtimes#92136mountiny wants to merge 3 commits into
mountiny wants to merge 3 commits into
Conversation
Node 20 hits EOL April 30 2026 and GitHub removes it as the default
Actions runtime on June 16 2026. Bump every pinned third-party action
to a node24-compatible release and replace two archived actions that
will never ship a node24 build:
- actions/download-artifact → v8.0.1 (node24)
- 1password/load-secrets-action → v4.0.0 (node24)
- aws-actions/configure-aws-credentials → v6.1.3 (node24)
- actions/setup-java → v5.2.0 (node24)
- dorny/paths-filter → v4.0.1 (node24)
- mxschmitt/action-tmate → v3.24 (node24)
- ruby/setup-ruby → v1.310.0 (node24)
- cloudflare/pages-action (node16, archived) → cloudflare/wrangler-action v4.0.0
- 8398a7/action-slack (node20, archived) → slackapi/slack-github-action v3.0.3
The slack migration converts all JS-template-literal custom payloads to
proper JSON and moves the webhook URL from an env var to the `webhook:`
input. process.env.AS_REPO references are replaced with
${{ github.repository }}.
The Cloudflare migration switches from the deprecated pages-action to
wrangler-action's `pages deploy` command and updates the output
reference from `.alias` to `.deployment-url`.
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
A preview of your ExpensifyHelp changes have been deployed to https://71098923.helpdot.pages.dev ⚡️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Node 20 reached end-of-life on April 30, 2026 and GitHub is switching its Actions runner default from Node 20 → Node 24 on June 16, 2026 (17 days away). Any third-party action still using
node20ornode16as its runtime will emit warnings and eventually break.Two of the affected actions (
cloudflare/pages-action,8398a7/action-slack) have been archived by their maintainers and will never ship a node24 build, so they require a migration to actively-maintained replacements.What changed
Version bumps (node20 → node24 builds available):
actions/download-artifact1password/load-secrets-actionaws-actions/configure-aws-credentialsactions/setup-javadorny/paths-filtermxschmitt/action-tmateruby/setup-rubyDeprecated/archived action replacements:
cloudflare/pages-action(node16, archived by Cloudflare) →cloudflare/wrangler-action@v4.0.0usingpages deploycommand. Output.alias→.deployment-url.8398a7/action-slack(node20, archived) →slackapi/slack-github-action@v3.0.3. All JS-template-literal custom payloads converted to proper JSON.process.env.AS_REPO→${{ github.repository }}. Webhook URL moved fromSLACK_WEBHOOK_URLenv var towebhook:input.Files changed:
deploy.yml,cherryPick.yml,deployExpensifyHelp.yml,androidBump.yml,syncVersions.yml,buildAndroid.yml,buildIOS.yml,remote-build-android.yml,remote-build-ios.yml,publishReactNativeAndroidArtifacts.yml,generateTranslations.yml,claude-review.yml,reviewerChecklist.yml,test.yml,announceFailedWorkflowInSlack/action.ymlTest plan
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=trueas a workflow env and verifying CI passesslackapi/slack-github-actionpayload posts correctly to#deployermainfor thedocs/folder to confirm the preview deploy step succeeds and the preview URL comment is postedNo changes to application code. CI/workflow-only.
Made with Cursor