GOOWOO-740: Update CI workflows for Node.js 24 compatibility#3519
Open
mserino wants to merge 7 commits into
Open
GOOWOO-740: Update CI workflows for Node.js 24 compatibility#3519mserino wants to merge 7 commits into
mserino wants to merge 7 commits into
Conversation
added 3 commits
June 17, 2026 16:22
v4 uses node20 (deprecated on GitHub runners after 2025-06-16). v5 is a composite action with no node20 JS runtime dependency, resolving the deprecation for both js-unit-tests and php-unit-tests. Ref: GOOWOO-740
actions-v3 (released 2026-06-12) upgrades all GitHub Actions to Node.js v24, resolving the node20 deprecation across all CI workflows. Actions updated (11 files): - branch-label, eslint-annotation, get-plugin-releases, hook-documentation, merge-trunk-develop-pr, prepare-extension-release, prepare-mysql, prepare-node, prepare-php, publish-extension-dev-build, stylelint-annotation Note: run-qit-extension was removed in actions-v3 (confirmed broken upstream). run-qit.yml is left on @actions-v2 with a TODO; migration to QIT CLI is a separate follow-on task. Ref: GOOWOO-740
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3519 +/- ##
===========================================
- Coverage 67.7% 66.8% -0.9%
Complexity 5322 5322
===========================================
Files 518 913 +395
Lines 21453 28226 +6773
Branches 0 1720 +1720
===========================================
+ Hits 14513 18855 +4342
- Misses 6940 9110 +2170
- Partials 0 261 +261
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
mikaeltomovic
requested changes
Jun 19, 2026
mikaeltomovic
left a comment
Collaborator
There was a problem hiding this comment.
Hey @mserino, great work on this! It's mostly very good and I think you have covered all workflows consistently. However I found a few things you might want to double check.
- The PR description says
deploy.ymlhasnode_version: '20'but that doesn't match what's in .github/workflows/deploy.yml on line 47. I think your reasoning in the description is correct and that this should be left at 20 since.nvmrcstill runs 20. - If you look at .github/workflows/js-unit-tests.yml (line 43) and .github/workflows/php-unit-tests.yml (line 115) you'll see
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0which I believe pins codecov to version 4.6.0 (to this commit more specifically). I think you'll have to update this line to another PIN. The PR description says you "bumped SHA pin from v4.6.0 to v5.5.4. v4 is a JS action declaring runs: using: node20; v5 switched to a composite/shell implementation, eliminating the node runtime dependency entirely." but this bump doesn't seem to be included.
upload-artifact v4 and github-script v7 use Node 20 runners; v5/v8 required for Node 24 compatibility in GitHub Actions.
AlejandroPerezMartin
approved these changes
Jul 15, 2026
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.
Changes proposed in this Pull Request:
Closes GOOWOO-740.
Description:
GitHub runners began defaulting to Node 24 on June 16, 2026, deprecating Node 20 actions. This PR updates all workflows in this repo to be Node 24-compatible.
Changes:
codecov/codecov-action: bumped SHA pin from v4.6.0 to v5.5.4. v4 is a JS action declaringruns: using: node20; v5 switched to a composite/shell implementation, eliminating the node runtime dependency entirely.woocommerce/growactions: bumped all usages from@actions-v2to@actions-v3across 11 workflow files. Theactions-v3tag was released June 12, 2026 specifically for node24 compatibility — notablyget-plugin-releasesnow declaresruns: using: node24, andprepare-nodenow callsactions/setup-node@v6(previously@v4).Known limitations not addressed in this PR:
update-browserslist-db.ymlstill usesc2corg/browserslist-update-action@v2.5.0, which declaresruns: using: node20. v2.5.0 is the latest release and the main branch has no node24 update.run-qit.ymlstill useswoocommerce/grow/run-qit-extension@actions-v2— this action was intentionally removed from actions-v3 as broken and unused (grow#239). The file has been removeddeploy.ymlhasnode_version: '20'— this controls the Node.js version used to build the plugin, not the runner runtime. It's tied to.nvmrcand is a separate concern.Screenshots:
Detailed test instructions:
js-unit-tests— verify the codecov upload step completes without errors.php-unit-tests— same for the codecov upload step.branch-labels,js-css-linting,php-coding-standards,php-hook-documentation,post-release-merge— these run on PR/push events; open a test PR to trigger them and confirm they pass.update-browserslist-db.ymlwill still show a node20 warning — that's expected and documented.Additional details:
Changelog entry