@@ -20,14 +20,16 @@ driven from Go through `docker exec`-style calls):
20203 . A pinned Node.js release installs with checksum verification and runs
2121 (` node --version ` , ` npm --version ` , ` process.platform ` , ` process.arch ` ),
2222 so the ` linux-x64 ` / ` linux-arm64 ` / ` win-x64 ` / ` win-arm64 ` package
23- selection is checked for real.
23+ selection is checked for real. The LTS release (` LTS_NODE_VERSION ` )
24+ installs as well, backing the codename probe below.
24254 . ` nodejs@latest ` resolves through the plugin's ` Available ` list (the
2526 first, newest entry) and installs.
26275 . The major and major.minor shorthands resolve through ` PreUse ` against the
2728 installed versions.
28296 . ` .nvmrc ` and ` .node-version ` drive ` vfox env ` selection: the exact
29- version under the default ` specified ` strategy, and an LTS codename
30- (` lts/<codename> ` ) under ` latest_installed ` . Each legacy probe activates
30+ pinned version under the default ` specified ` strategy, and an LTS
31+ codename (` lts/<codename> ` , see [ lts] ( lts.md ) ) resolving to the LTS
32+ release under ` latest_installed ` . Each legacy probe activates
3133 inside its own shell so the selection is recomputed rather than answered
3234 from the ` vfox env ` state cache of an earlier probe.
33357 . ` vfox search nodejs ` lists the installed release with the same npm
@@ -49,9 +51,11 @@ pin `VFOX_VERSION` and `MIRROR` explicitly to widen or narrow the matrix.
4951| ------------------- | ------------------ | ----------------------------------------------------------------------- |
5052| ` VFOX_VERSION ` | ` latest main ` | Space-separated vfox channels (` latest ` , ` main ` ) |
5153| ` MIRROR ` | see matrix above | Space-separated mirrors; ` default ` means ` nodejs.org ` |
52- | ` NODE_VERSION ` | ` 22.23.3 ` | Pinned Node.js release installed by the suite |
54+ | ` NODE_VERSION ` | ` 26.11.1 ` | Pinned Node.js release installed by the suite |
55+ | ` LTS_NODE_VERSION ` | ` 24.21.0 ` | LTS release backing the ` lts/<codename> ` probe (see docs/lts.md) |
5356| ` E2E_MAX_JOBS ` | ` 3 ` (Linux), ` 2 ` (Windows) | Parallel containers per host |
5457| ` E2E_RETRY_ATTEMPTS ` | ` 3 ` | Attempts per network-touching exec (linear 10s backoff) |
58+ | ` E2E_LINUX_BASE ` | ` ubuntu ` | Linux userland: ` ubuntu ` (glibc) or ` alpine ` (musl, see docs/musl.md) |
5559
5660## Ubuntu
5761
@@ -81,6 +85,22 @@ cd ./vfox-nodejs/
8185DOCKER_SOCK=" $XDG_RUNTIME_DIR /docker.sock" docker compose -f tests/e2e/linux/compose.yaml run --rm e2e
8286```
8387
88+ ## Alpine (musl)
89+
90+ Same host requirement. The Alpine suite builds
91+ ` tests/e2e/linux/Dockerfile-alpine ` (musl userland with ` libstdc++ ` ) and
92+ asserts the musl userland before running the standard flow, proving the
93+ plugin selects the ` *-musl ` tarballs
94+ ([ issue #29 ] ( https://github.com/version-fox/vfox-nodejs/issues/29 ) ).
95+ See [ docs/musl.md] ( musl.md ) for the tarball matrix.
96+
97+ ``` bash
98+ docker compose -f tests/e2e/linux/compose.alpine.yaml run --rm e2e
99+ ```
100+
101+ Scope it down locally the same way, e.g.
102+ ` VFOX_VERSION=latest MIRROR=default E2E_MAX_JOBS=1 ` in front of the command.
103+
84104## Windows 11 Pro
85105
86106Windows containers cannot be emulated across architectures, so the ARM64
@@ -99,13 +119,15 @@ combinations still run with an unspaced home.
99119
100120### x64
101121
102- 1 . Execute in Windows PowerShell 5.1,
122+ All commands below run in PowerShell 7. If it is not installed yet, install
123+ it first (this single bootstrap command may run in the built-in Windows
124+ PowerShell):
103125
104126``` powershell
105127winget install --id Microsoft.PowerShell --source winget --exact
106128```
107129
108- 2 . Execute in PowerShell 7,
130+ 1 . Execute in PowerShell 7,
109131
110132``` powershell
111133winget install --id Git.Git --source winget --exact
@@ -116,13 +138,13 @@ curl.exe -fsSL `
116138 -o ./install-docker-ce.ps1
117139```
118140
119- 3 . Execute in PowerShell 7 with administrator privileges,
141+ 2 . Execute in PowerShell 7 with administrator privileges,
120142
121143``` powershell
122144./install-docker-ce.ps1
123145```
124146
125- 4 . Execute in PowerShell 7,
147+ 3 . Execute in PowerShell 7,
126148
127149``` powershell
128150New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.docker\cli-plugins" | Out-Null
@@ -138,13 +160,15 @@ docker compose -f tests/e2e/windows/compose.amd64.yaml run --rm --build e2e
138160
139161### arm64
140162
141- 1 . Execute in Windows PowerShell 5.1,
163+ All commands below run in PowerShell 7. If it is not installed yet, install
164+ it first (this single bootstrap command may run in the built-in Windows
165+ PowerShell):
142166
143167``` powershell
144168winget install --id Microsoft.PowerShell --source winget --exact
145169```
146170
147- 2 . Execute in PowerShell 7,
171+ 1 . Execute in PowerShell 7,
148172
149173``` powershell
150174winget install --id Git.Git --source winget --exact
0 commit comments