Add Node.js 20 deprecation warning annotation (Phase 1)#4242
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Phase 1 support for emitting a single end-of-job warning annotation when deprecated Node.js 20 (including node12/16 upgraded to node20) actions are used, as part of the Node 20 → Node 24 migration strategy.
Changes:
- Introduces
actions.runner.warnonnode20feature flag and a Node 20 deprecation URL constant. - Tracks Node.js 20-based actions during handler creation and aggregates them per job.
- Emits a single warning at job finalization listing all tracked actions; adds L0 coverage for tracking behavior.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Runner.Common/Constants.cs | Adds warn-on-node20 feature flag constant and Node 20 deprecation URL constant. |
| src/Runner.Worker/GlobalContext.cs | Adds DeprecatedNode20Actions set to hold per-job tracked action identifiers. |
| src/Runner.Worker/ExecutionContext.cs | Initializes Global.DeprecatedNode20Actions during job initialization. |
| src/Runner.Worker/Handlers/HandlerFactory.cs | Tracks node20 actions when flag enabled; adds helper to format action name; appends deprecation URL to Phase 2 message. |
| src/Runner.Worker/JobExtension.cs | Emits one end-of-job warning annotation listing all tracked node20 actions. |
| src/Test/L0/Worker/HandlerFactoryL0.cs | Adds L0 tests validating tracking behavior under different node versions and flag states. |
| if (context.Global.DeprecatedNode20Actions?.Count > 0) | ||
| { | ||
| var actionsList = string.Join(", ", context.Global.DeprecatedNode20Actions); | ||
| var deprecationMessage = $"Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: {actionsList}. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2025. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: {Constants.Runner.NodeMigration.Node20DeprecationUrl}"; |
There was a problem hiding this comment.
The deprecation warning hard-codes the cutoff date ("June 2nd, 2025") directly in the string. To avoid this becoming stale and to keep deprecation messaging centralized (similar to Node20DeprecationUrl), consider moving the date (and potentially the full template) into Constants.Runner.NodeMigration and referencing it here.
| var deprecationMessage = $"Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: {actionsList}. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2025. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: {Constants.Runner.NodeMigration.Node20DeprecationUrl}"; | |
| var deprecationMessage = $"Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: {actionsList}. Actions will be forced to run with Node.js 24 by default in the future. Please check if updated versions of these actions are available that support Node.js 24. For the latest deprecation schedule and more information, see: {Constants.Runner.NodeMigration.Node20DeprecationUrl}"; |
| { | ||
| string infoMessage = "Node 20 is being deprecated. This workflow is running with Node 24 by default. " + | ||
| "If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable."; | ||
| "If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. " + |
There was a problem hiding this comment.
The Phase 2 info message hard-codes the environment variable name ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION. Since there is already a constant (Constants.Runner.NodeMigration.AllowUnsecureNodeVersionVariable), using it here would prevent the message from drifting if the variable name ever changes and keeps the string consistent with the rest of the migration code.
| "If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. " + | |
| $"If you need to temporarily use Node 20, you can set the {Constants.Runner.NodeMigration.AllowUnsecureNodeVersionVariable}=true environment variable. " + |
9630663 to
0211e73
Compare
0211e73 to
e012ab6
Compare
98d239e to
061be52
Compare
When the actions.runner.warnonnode20 feature flag is enabled, the runner
collects all actions using Node.js 20 (including node12/16 that get
migrated to node20) during the job and emits a single warning annotation
at job finalization:
"Node.js 20 actions are deprecated and will stop working on June 2nd,
2025. Please update the following actions to use Node.js 24: {actions}.
For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/"
Also adds the blog post link to the Phase 2 (node24 default) info message.
…checking for updates
061be52 to
747bd95
Compare
commit 6792966 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Fri Mar 27 16:55:20 2026 +0000 Bump version to 2.333.1 commit 8d231aa Author: Salman Chishti <salmanmkc@GitHub.com> Date: Wed Mar 18 17:26:07 2026 +0000 Update release version to 2.333.0 commit 4e8e1ff Author: Salman Chishti <salmanmkc@GitHub.com> Date: Wed Mar 18 16:51:00 2026 +0000 prep new runner release 2.333.0 (actions#4306) commit b6cca8f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Mar 18 16:26:33 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.54.0 to 8.57.1 in /src/Misc/expressionFunc/hashFiles (actions#4304) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 18d0789 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Tue Mar 17 18:58:34 2026 +0000 Node 24 enforcement + Linux ARM32 deprecation support (actions#4303) commit c985a9f Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 16 13:48:09 2026 +0000 Update dotnet sdk to latest version @8.0.419 (actions#4301) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tingluo Huang <tingluohuang@github.com> commit 45ed15d Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Mar 16 09:31:57 2026 -0400 Report infra_error for action download failures. (actions#4294) commit c5dcf59 Author: Nikola Jokic <jokicnikola07@gmail.com> Date: Fri Mar 13 19:16:31 2026 +0100 Exit with specified exit code when runner is outdated (actions#4285) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit c7f6c49 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Mar 11 10:21:47 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.47.0 to 8.54.0 in /src/Misc/expressionFunc/hashFiles (actions#4230) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 40dd583 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Mar 9 11:10:08 2026 -0500 Fix cancellation token race during parser comparison (actions#4280) commit 68f2e9a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 9 13:02:32 2026 +0000 chore: update Node versions (actions#4287) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 2b98d42 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 9 00:37:54 2026 +0000 Update Docker to v29.3.0 and Buildx to v0.32.1 (actions#4286) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit ce8ce41 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 22:13:23 2026 +0000 Bump @stylistic/eslint-plugin from 5.9.0 to 5.10.0 in /src/Misc/expressionFunc/hashFiles (actions#4281) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 5310e90 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:59:22 2026 +0000 Bump actions/attest-build-provenance from 3 to 4 (actions#4266) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9832328 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:49:28 2026 +0000 Bump docker/setup-buildx-action from 3 to 4 (actions#4282) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 5ef3270 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:44:58 2026 +0000 Bump docker/build-push-action from 6 to 7 (actions#4283) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 1138dd8 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Mar 5 14:56:28 2026 -0600 Fix positional arg bug in ExpressionParser.CreateTree (actions#4279) commit 99910ca Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Mar 5 15:45:49 2026 +0000 Bump docker/login-action from 3 to 4 (actions#4278) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit bcd04cf Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Mar 5 14:55:48 2026 +0000 Bump actions/upload-artifact from 6 to 7 (actions#4270) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 20111cb Author: eric sciple <ericsciple@users.noreply.github.com> Date: Wed Mar 4 17:36:45 2026 -0600 Support `entrypoint` and `command` for service containers (actions#4276) commit 8f01257 Author: Max Horstmann <MaxHorstmann@users.noreply.github.com> Date: Wed Mar 4 15:17:25 2026 -0500 Devcontainer: bump base image Ubuntu version (actions#4277) commit 8a73bcc Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Mar 2 23:38:16 2026 -0600 Fix parser comparison mismatches (actions#4273) commit a9a07a6 Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Mar 2 22:44:14 2026 -0500 Avoid throw in SelfUpdaters. (actions#4274) commit 60a9422 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 2 13:51:11 2026 +0000 chore: update Node versions (actions#4272) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 985a06f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Feb 27 09:18:13 2026 +0000 Bump actions/download-artifact from 7 to 8 (actions#4269) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit ae09a9d Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Feb 26 08:36:55 2026 -0600 Fix composite post-step marker display names (actions#4267) commit 7650fc4 Author: Tingluo Huang <tingluohuang@github.com> Date: Wed Feb 25 15:44:27 2026 -0500 Log inner exception message. (actions#4265) commit bc00800 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Wed Feb 25 13:36:47 2026 +0000 Bump runner version to 2.332.0 and update release notes (actions#4264) commit 86e2360 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Feb 25 12:02:23 2026 +0000 Bump @stylistic/eslint-plugin from 3.1.0 to 5.9.0 in /src/Misc/expressionFunc/hashFiles (actions#4257) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 0fb7482 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Feb 25 11:56:32 2026 +0000 Bump minimatch in /src/Misc/expressionFunc/hashFiles (actions#4261) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 052dfbd Author: Pavel Iakovenko <paveliak@users.noreply.github.com> Date: Tue Feb 24 12:19:46 2026 -0500 Symlink actions cache (actions#4260) commit ecb5f29 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Feb 23 09:00:12 2026 -0600 Composite Action Step Markers (actions#4243) commit a2b2209 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Sat Feb 21 19:19:46 2026 +0000 Update Node.js 20 deprecation date to June 2nd, 2026 (actions#4258) Co-authored-by: Salman <salmanmkc@gmail.com> commit 9426c35 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Thu Feb 19 17:05:32 2026 +0000 Add Node.js 20 deprecation warning annotation (Phase 1) (actions#4242) commit 72189aa Author: Tingluo Huang <tingluohuang@github.com> Date: Wed Feb 18 12:00:37 2026 -0500 Try to infer runner is on hosted/ghes when githuburl is empty. (actions#4254) commit e012ab6 Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Feb 17 14:09:05 2026 -0500 Fix link to SECURITY.md in README (actions#4253) commit a798a45 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 16 11:34:26 2026 +0000 Update dotnet sdk to latest version @8.0.418 (actions#4250) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 9efea31 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 16 11:29:25 2026 +0000 chore: update Node versions (actions#4249) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 6680090 Author: Zach Renner <13670625+zarenner@users.noreply.github.com> Date: Thu Feb 12 05:46:48 2026 -0800 Remove unnecessary connection test during some registration flows (actions#4244) commit 15cb558 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Wed Feb 11 09:44:01 2026 -0600 Fix parser comparison mismatches (actions#4220) commit d5a8a93 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Tue Feb 10 12:28:42 2026 -0600 Add telemetry tracking for deprecated set-output and save-state commands (actions#4221) commit cdb77c6 Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Feb 10 09:31:10 2026 -0500 Support return job result as exitcode in hosted runner. (actions#4233) commit a4a19b1 Author: Nikola Jokic <jokicnikola07@gmail.com> Date: Tue Feb 10 02:07:20 2026 +0100 Bump hook to 0.8.1 (actions#4222) commit 1b5486a Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Feb 9 08:42:07 2026 -0500 Validate work dir during runner start up. (actions#4227) commit 4214709 Author: Takuma Ishikawa <nekketsuuu@users.noreply.github.com> Date: Mon Feb 9 06:03:41 2026 +0900 Add support for libssl3 and libssl3t64 for newer Debian/Ubuntu versions (actions#4213) commit 3ffedab Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 2 02:15:37 2026 +0000 Update Docker to v29.2.0 and Buildx to v0.31.1 (actions#4219) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 3a80a78 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Fri Jan 30 09:24:06 2026 -0600 Fix local action display name showing `Run /./` instead of `Run ./` (actions#4218) commit 6822f4a Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Jan 27 16:52:25 2026 -0500 Report job level annotations (actions#4216) commit ad43c63 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Jan 25 21:10:56 2026 -0500 Update Docker to v29.1.5 and Buildx to v0.31.0 (actions#4212) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 5d4fb30 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Jan 22 15:17:18 2026 -0600 Allow empty container options (actions#4208) commit 1df72a5 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Jan 22 14:41:15 2026 +0000 Bump System.Formats.Asn1 and System.Security.Cryptography.Pkcs (actions#4202) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 02013cf Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Jan 19 23:08:47 2026 -0500 Update dotnet sdk to latest version @8.0.417 (actions#4201) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 7d5c17a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Jan 20 02:18:53 2026 +0000 chore: update Node versions (actions#4200) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # .devcontainer/devcontainer.json # images/Dockerfile # releaseVersion # src/Sdk/Sdk.csproj # src/Test/L0/Worker/ActionRunnerL0.cs # src/dev.sh # src/global.json
commit f1995ed Author: Salman Chishti <salmanmkc@GitHub.com> Date: Tue Apr 21 19:49:15 2026 +0100 Update release version to 2.334.0 commit c87d955 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Tue Apr 21 19:40:21 2026 +0100 Prepping runner release 2.334.0 (actions#4365) commit 7407189 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 17:49:08 2026 +0100 Bump Microsoft.DevTunnels.Connections from 1.3.16 to 1.3.39 (actions#4339) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit a84fb36 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 17:39:38 2026 +0100 Bump typescript from 6.0.2 to 6.0.3 in /src/Misc/expressionFunc/hashFiles (actions#4353) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 84598e0 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 17:38:26 2026 +0100 Bump System.ServiceProcess.ServiceController from 10.0.3 to 10.0.6 (actions#4358) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 8fa7457 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 16:36:21 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.58.1 to 8.59.0 in /src/Misc/expressionFunc/hashFiles (actions#4359) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 00af837 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Tue Apr 21 17:31:10 2026 +0100 Add vulnerability-alerts permission (actions#4350) commit 6692e6a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 16:06:40 2026 +0000 Bump System.Formats.Asn1 and System.Security.Cryptography.Pkcs (actions#4362) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit cacb25d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Apr 21 15:15:02 2026 +0100 Bump @typescript-eslint/parser from 8.58.1 to 8.59.0 in /src/Misc/expressionFunc/hashFiles (actions#4360) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit c6ca9f6 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Apr 20 17:06:35 2026 +0000 Update dotnet sdk to latest version @8.0.420 (actions#4356) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit fad1253 Author: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon Apr 20 10:45:12 2026 -0400 Bump Docker version to 29.4.0 (actions#4352) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: luketomlinson <19689611+luketomlinson@users.noreply.github.com> commit 45debbd Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Apr 20 12:44:20 2026 +0000 chore: update Node versions (actions#4355) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 43e5211 Author: Francesco Renzi <rentziass@github.com> Date: Fri Apr 17 14:18:01 2026 +0100 Add WS bridge over DAP TCP server (actions#4328) Co-authored-by: Tingluo Huang <tingluohuang@github.com> commit 4a587ad Author: Salman Chishti <salmanmkc@GitHub.com> Date: Fri Apr 10 19:39:33 2026 +0100 feat: add `job.workflow_*` typed accessors to JobContext (actions#4335) commit 182a433 Author: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri Apr 10 12:40:28 2026 +0100 Bump System.Formats.Asn1, Cryptography.Pkcs, ProtectedData, ServiceController, CodePages, Threading.Channels, @actions/glob, @typescript-eslint/parser, lint-staged, picomatch (actions#4333) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 8d35e71 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Fri Apr 10 11:34:08 2026 +0100 fix: only show changed versions in node upgrade PR description (actions#4332) commit 2bcc65e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Apr 10 09:01:34 2026 +0100 Bump typescript from 5.9.3 to 6.0.2 in /src/Misc/expressionFunc/hashFiles (actions#4329) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 1ba5fdf Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Apr 10 08:54:56 2026 +0100 Bump actions/github-script from 8 to 9 (actions#4331) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 580116c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Apr 8 07:44:38 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.57.2 to 8.58.1 in /src/Misc/expressionFunc/hashFiles (actions#4327) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit c9a1751 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Apr 8 08:40:32 2026 +0100 Update Docker to v29.3.1 and Buildx to v0.33.0 (actions#4324) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 7711dc5 Author: Francesco Renzi <rentziass@github.com> Date: Tue Apr 7 13:51:33 2026 +0100 Add devtunnel connection for debugger jobs (actions#4317) commit df50788 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Apr 1 13:19:42 2026 +0100 Bump brace-expansion in /src/Misc/expressionFunc/hashFiles (actions#4318) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 5c6dd47 Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Mar 31 17:51:01 2026 -0400 Add support for Bearer token in action archive downloads (actions#4321) commit 7ff994b Author: Stefan Penner <stef@iamstef.net> Date: Tue Mar 31 11:28:43 2026 -0600 Batch and deduplicate action resolution across composite depths (actions#4296) Co-authored-by: Stefan Penner <spenner@linkedin.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> commit b9275b5 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 30 12:58:17 2026 +0000 chore: update Node versions (actions#4319) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit f0c2286 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Fri Mar 27 11:45:42 2026 -0500 Remove AllowCaseFunction feature flag (actions#4316) commit 9728019 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Mar 24 10:40:31 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.57.1 to 8.57.2 in /src/Misc/expressionFunc/hashFiles (actions#4310) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit e17e7aa Author: Francesco Renzi <rentziass@github.com> Date: Mon Mar 23 14:02:15 2026 +0000 Add DAP server (actions#4298) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tingluo Huang <tingluohuang@github.com> commit 4259ffb Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Mar 20 01:02:30 2026 +0000 Bump flatted from 3.2.7 to 3.4.2 in /src/Misc/expressionFunc/hashFiles (actions#4307) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 4e8e1ff Author: Salman Chishti <salmanmkc@GitHub.com> Date: Wed Mar 18 16:51:00 2026 +0000 prep new runner release 2.333.0 (actions#4306) commit b6cca8f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Mar 18 16:26:33 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.54.0 to 8.57.1 in /src/Misc/expressionFunc/hashFiles (actions#4304) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 18d0789 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Tue Mar 17 18:58:34 2026 +0000 Node 24 enforcement + Linux ARM32 deprecation support (actions#4303) commit c985a9f Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 16 13:48:09 2026 +0000 Update dotnet sdk to latest version @8.0.419 (actions#4301) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tingluo Huang <tingluohuang@github.com> commit 45ed15d Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Mar 16 09:31:57 2026 -0400 Report infra_error for action download failures. (actions#4294) commit c5dcf59 Author: Nikola Jokic <jokicnikola07@gmail.com> Date: Fri Mar 13 19:16:31 2026 +0100 Exit with specified exit code when runner is outdated (actions#4285) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit c7f6c49 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Mar 11 10:21:47 2026 +0000 Bump @typescript-eslint/eslint-plugin from 8.47.0 to 8.54.0 in /src/Misc/expressionFunc/hashFiles (actions#4230) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 40dd583 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Mar 9 11:10:08 2026 -0500 Fix cancellation token race during parser comparison (actions#4280) commit 68f2e9a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 9 13:02:32 2026 +0000 chore: update Node versions (actions#4287) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 2b98d42 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 9 00:37:54 2026 +0000 Update Docker to v29.3.0 and Buildx to v0.32.1 (actions#4286) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit ce8ce41 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 22:13:23 2026 +0000 Bump @stylistic/eslint-plugin from 5.9.0 to 5.10.0 in /src/Misc/expressionFunc/hashFiles (actions#4281) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 5310e90 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:59:22 2026 +0000 Bump actions/attest-build-provenance from 3 to 4 (actions#4266) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9832328 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:49:28 2026 +0000 Bump docker/setup-buildx-action from 3 to 4 (actions#4282) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 5ef3270 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Mar 7 01:44:58 2026 +0000 Bump docker/build-push-action from 6 to 7 (actions#4283) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 1138dd8 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Mar 5 14:56:28 2026 -0600 Fix positional arg bug in ExpressionParser.CreateTree (actions#4279) commit 99910ca Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Mar 5 15:45:49 2026 +0000 Bump docker/login-action from 3 to 4 (actions#4278) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit bcd04cf Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Mar 5 14:55:48 2026 +0000 Bump actions/upload-artifact from 6 to 7 (actions#4270) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 20111cb Author: eric sciple <ericsciple@users.noreply.github.com> Date: Wed Mar 4 17:36:45 2026 -0600 Support `entrypoint` and `command` for service containers (actions#4276) commit 8f01257 Author: Max Horstmann <MaxHorstmann@users.noreply.github.com> Date: Wed Mar 4 15:17:25 2026 -0500 Devcontainer: bump base image Ubuntu version (actions#4277) commit 8a73bcc Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Mar 2 23:38:16 2026 -0600 Fix parser comparison mismatches (actions#4273) commit a9a07a6 Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Mar 2 22:44:14 2026 -0500 Avoid throw in SelfUpdaters. (actions#4274) commit 60a9422 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 2 13:51:11 2026 +0000 chore: update Node versions (actions#4272) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 985a06f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Feb 27 09:18:13 2026 +0000 Bump actions/download-artifact from 7 to 8 (actions#4269) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit ae09a9d Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Feb 26 08:36:55 2026 -0600 Fix composite post-step marker display names (actions#4267) commit 7650fc4 Author: Tingluo Huang <tingluohuang@github.com> Date: Wed Feb 25 15:44:27 2026 -0500 Log inner exception message. (actions#4265) commit bc00800 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Wed Feb 25 13:36:47 2026 +0000 Bump runner version to 2.332.0 and update release notes (actions#4264) commit 86e2360 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Feb 25 12:02:23 2026 +0000 Bump @stylistic/eslint-plugin from 3.1.0 to 5.9.0 in /src/Misc/expressionFunc/hashFiles (actions#4257) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 0fb7482 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Feb 25 11:56:32 2026 +0000 Bump minimatch in /src/Misc/expressionFunc/hashFiles (actions#4261) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 052dfbd Author: Pavel Iakovenko <paveliak@users.noreply.github.com> Date: Tue Feb 24 12:19:46 2026 -0500 Symlink actions cache (actions#4260) commit ecb5f29 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Mon Feb 23 09:00:12 2026 -0600 Composite Action Step Markers (actions#4243) commit a2b2209 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Sat Feb 21 19:19:46 2026 +0000 Update Node.js 20 deprecation date to June 2nd, 2026 (actions#4258) Co-authored-by: Salman <salmanmkc@gmail.com> commit 9426c35 Author: Salman Chishti <salmanmkc@GitHub.com> Date: Thu Feb 19 17:05:32 2026 +0000 Add Node.js 20 deprecation warning annotation (Phase 1) (actions#4242) commit 72189aa Author: Tingluo Huang <tingluohuang@github.com> Date: Wed Feb 18 12:00:37 2026 -0500 Try to infer runner is on hosted/ghes when githuburl is empty. (actions#4254) commit e012ab6 Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Feb 17 14:09:05 2026 -0500 Fix link to SECURITY.md in README (actions#4253) commit a798a45 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 16 11:34:26 2026 +0000 Update dotnet sdk to latest version @8.0.418 (actions#4250) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Salman Chishti <salmanmkc@GitHub.com> commit 9efea31 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 16 11:29:25 2026 +0000 chore: update Node versions (actions#4249) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 6680090 Author: Zach Renner <13670625+zarenner@users.noreply.github.com> Date: Thu Feb 12 05:46:48 2026 -0800 Remove unnecessary connection test during some registration flows (actions#4244) commit 15cb558 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Wed Feb 11 09:44:01 2026 -0600 Fix parser comparison mismatches (actions#4220) commit d5a8a93 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Tue Feb 10 12:28:42 2026 -0600 Add telemetry tracking for deprecated set-output and save-state commands (actions#4221) commit cdb77c6 Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Feb 10 09:31:10 2026 -0500 Support return job result as exitcode in hosted runner. (actions#4233) commit a4a19b1 Author: Nikola Jokic <jokicnikola07@gmail.com> Date: Tue Feb 10 02:07:20 2026 +0100 Bump hook to 0.8.1 (actions#4222) commit 1b5486a Author: Tingluo Huang <tingluohuang@github.com> Date: Mon Feb 9 08:42:07 2026 -0500 Validate work dir during runner start up. (actions#4227) commit 4214709 Author: Takuma Ishikawa <nekketsuuu@users.noreply.github.com> Date: Mon Feb 9 06:03:41 2026 +0900 Add support for libssl3 and libssl3t64 for newer Debian/Ubuntu versions (actions#4213) commit 3ffedab Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 2 02:15:37 2026 +0000 Update Docker to v29.2.0 and Buildx to v0.31.1 (actions#4219) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 3a80a78 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Fri Jan 30 09:24:06 2026 -0600 Fix local action display name showing `Run /./` instead of `Run ./` (actions#4218) commit 6822f4a Author: Tingluo Huang <tingluohuang@github.com> Date: Tue Jan 27 16:52:25 2026 -0500 Report job level annotations (actions#4216) commit ad43c63 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Jan 25 21:10:56 2026 -0500 Update Docker to v29.1.5 and Buildx to v0.31.0 (actions#4212) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 5d4fb30 Author: eric sciple <ericsciple@users.noreply.github.com> Date: Thu Jan 22 15:17:18 2026 -0600 Allow empty container options (actions#4208) commit 1df72a5 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Jan 22 14:41:15 2026 +0000 Bump System.Formats.Asn1 and System.Security.Cryptography.Pkcs (actions#4202) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 02013cf Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Jan 19 23:08:47 2026 -0500 Update dotnet sdk to latest version @8.0.417 (actions#4201) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit 7d5c17a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Jan 20 02:18:53 2026 +0000 chore: update Node versions (actions#4200) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # .devcontainer/devcontainer.json # images/Dockerfile # releaseNote.md # releaseVersion # src/Misc/expressionFunc/hashFiles/package-lock.json resolved by v2.334.0 version # src/Misc/expressionFunc/hashFiles/package.json resolved by v2.334.0 version # src/Misc/externals.sh # src/Runner.Common/Constants.cs # src/Runner.Common/Runner.Common.csproj # src/Runner.Listener/Runner.Listener.csproj # src/Runner.Sdk/Runner.Sdk.csproj # src/Runner.Worker/ActionManager.cs # src/Runner.Worker/InternalsVisibleTo.cs # src/Runner.Worker/Runner.Worker.csproj # src/Sdk/Sdk.csproj # src/Sdk/WorkflowParser/WorkflowFeatures.cs # src/dev.sh # src/global.json # src/runnerversion
Summary
Adds a deprecation warning annotation for Node.js 20 actions as part of the Node 20 → Node 24 migration Phase 1 (see #3948).
Node.js 20 reaches end-of-life in April 2026. When the
actions.runner.warnonnode20feature flag is enabled, the runner collects all actions using Node.js 20 (including node12/16 that get migrated to node20) during the job and emits a single warning annotation at job finalization:Also adds the blog post link to the Phase 2 (
useNode24ByDefault) info message.Changes
WarnOnNode20Flagfeature flag (actions.runner.warnonnode20) andNode20DeprecationUrlblog post constantDeprecatedNode20ActionsHashSet to track Node.js 20 actions across the jobDeprecatedNode20Actionsset during job initializationGetActionNamehelper with sanitization to prevent log injection. Also adds blog post link to Phase 2 messageFinalizeJob. Truncates to 10 actions with "... and N more" for large workflowsTesting
All tests pass.