Feature/node lts versions - #48
Draft
pablojmarti wants to merge 11 commits into
Draft
pablojmarti wants to merge 11 commits into
pablojmarti wants to merge 11 commits into
Conversation
felipeelia
reviewed
Sep 29, 2026
Member
There was a problem hiding this comment.
As Claude now supports AGENTS.md, we should switch to it. We should also make this AI-agnostic, so no mention of Claude Code, but rather AI agents in general.
We should likely address this Known doc drift section at the bottom, no?
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.
Description of the Change
Node: install the three latest LTS versions
The container used to install only the current Node LTS (24). Projects on other versions had to run
nvm install <version>, which downloads Node on every pipeline run. With this change, the three latest Node LTS versions (currently 20, 22 and 24) are installed by default. Projects on those versions can switch instantly withnvm use <version>. 24 remains the default.build/install-node.shnow takes a count (default 3) and installs nvm's relative LTS aliases oldest first:lts/-2,lts/-1,lts/*. The versions are resolved at build time, so the weekly no-cache rebuild rolls the set forward automatically. When Node 26 becomes LTS (late October), the image will move to 22/24/26, the default will become 26, and 20 will be dropped.0,-1,abc), and the build stops at the first failed install.Dockerfile, the unusedNODE_VERSIONbuild arg is replaced withNODE_LTS_COUNT=3.PHP 8.1: move to Debian bookworm
Debian bullseye support ended on Aug 31, 2026. The
bullseye-securitypackage list still resolves, but the package files return 404, so every bullseye image fails at the firstapt-get install(exit code 100). This has been failing the weekly trunk builds since at least Sep 20, and none of our tags have been updated since Sep 4, because the failure cancelled every other job in the matrix.573bf0d), but9dfc8e4reverted it back to bullseye. That looks accidental: the commit message says 8.2, but the diff changes 8.1. This PR moves it tophp:8.1-bookwormagain.php:7.4-bookwormandphp:8.0-bookwormdon't exist. Dropping those versions is a separate decision that's being discussed with the team.fail-fast: falseis set on the matrix so 8.1–8.4 finish and report their own results instead of being cancelled by 7.4/8.0. Remove it before merging, or once 7.4/8.0 are dropped.Docs
CLAUDE.md, which documents the repo architecture, commands, test approach and the CI and release process.Verification done locally (arm64, colima)
tests/test-install-node.shfailed before the change and passes after it. The existingtests/test-virus-scan.shstill passes.lts/-2,lts/-1andlts/*aliases resolve to 20.20.2, 22.23.3 and 24.21.0 with nvm v0.40.5.php:8.3-bookwormandphp:8.1-bookworm. In both,nvm use 20/22/24switches correctly and runs JS, and a new non-interactive shell defaults to v24.virus-scanandphp-syntaxboth pass inside it.php:8.1-bullseye, and I checked that all 71 apt packages resolve on amd64php:8.1-bookworm.Closes #
How to test the Change
bash tests/test-install-node.sh bash tests/test-virus-scan.sh # macOS only (uses /private/tmp)docker build --build-arg PHP_IMG=php:8.1-bookworm --build-arg COMPOSER_VERSION=2 -t wordpress-ci:test .apt-get installwith bullseye-security 404s.Changelog Entry
Checklist:
🤖 Generated with Claude Code