From 5f9495c7b21f680942ed1be687bdf6d2eff2f4ea Mon Sep 17 00:00:00 2001 From: Angel de la Torre Date: Fri, 5 Jun 2026 09:55:40 -0700 Subject: [PATCH 1/3] chore(ci): bump GitHub Actions to latest versions checkout@v3 and setup-node@v3 use the Node 16 runtime which is already deprecated. Upgrading to checkout@v6 and setup-node@v5 moves to the Node 20+ runtime ahead of the June 16 enforcement. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 91a4b78a..3dd04fef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,10 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Setup node - uses: actions/setup-node@v3 + uses: actions/setup-node@v5 with: node-version: "18" cache: npm From 0908411f9e36f9dd19c3a72a7733cb8fe52b7a0a Mon Sep 17 00:00:00 2001 From: Angel de la Torre Date: Fri, 5 Jun 2026 09:55:50 -0700 Subject: [PATCH 2/3] chore: upgrade Node.js from 18 to 24 Node 18 reached end-of-life in April 2025. Upgrading the CI workflow, Dockerfile, and adding an .nvmrc to target Node 24, which becomes LTS in October 2026. --- .github/workflows/build.yml | 2 +- .nvmrc | 1 + Dockerfile | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 .nvmrc diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3dd04fef..fc2fa3df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ jobs: - name: Setup node uses: actions/setup-node@v5 with: - node-version: "18" + node-version: "24" cache: npm - run: npm install diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..a45fd52c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/Dockerfile b/Dockerfile index ee916ff4..5fb23460 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine +FROM node:24-alpine RUN mkdir -p /opt/pulldasher WORKDIR /opt/pulldasher From a0a9be5edb992ea8713d9c6b34196519fe07fb89 Mon Sep 17 00:00:00 2001 From: Angel de la Torre Date: Fri, 5 Jun 2026 09:56:16 -0700 Subject: [PATCH 3/3] chore: add engines constraint for Node 24 Codifies the supported Node version range so npm install fails early if someone tries to use an unsupported version. --- package-lock.json | 3 +++ package.json | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index f61b2da8..13f485a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,6 +64,9 @@ "webpack": "5.105", "webpack-cli": "^6.0.1", "webpack-dev-server": "^5.2.4" + }, + "engines": { + "node": ">=24.0.0 <25.0.0" } }, "node_modules/@ampproject/remapping": { diff --git a/package.json b/package.json index 54a75145..e024676d 100644 --- a/package.json +++ b/package.json @@ -80,5 +80,8 @@ "repository": "git@github.com:ifixit/pulldasher.git", "author": "iFixit", "license": "MIT", - "type": "module" + "type": "module", + "engines": { + "node": ">=24.0.0 <25.0.0" + } }