diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 4b09c2e2..5e213674 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -79,7 +79,11 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 20 + # From .nvmrc rather than pinned here. The two drifted — + # .nvmrc said 22, this said 20, and the machine the suite was + # actually developed on ran 24 — so "works locally, fails in + # CI" had three plausible causes instead of none. + node-version-file: .nvmrc cache: npm - name: Install Node dependencies diff --git a/.nvmrc b/.nvmrc index 2bd5a0a9..a45fd52c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +24 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f27978d8..e980385d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -74,8 +74,8 @@ Two suites: PHPUnit for unit tests (`tests/`, mirroring `src/`) and Playwright f tests (`tests/e2e/`). Both run against `compose.test.yaml` — a separate compose project with its own Postgres, so they never -touch the dev stack or the database holding your mail. Playwright runs on the host (Node 18+; the repo -ships an `.nvmrc`). +touch the dev stack or the database holding your mail. Playwright runs on the host; the repo +ships an `.nvmrc` and CI reads it, so that file is the one place the version is set. ```bash npm ci