From 97b90f438d1baccf3debf620a72e8e48e60c0295 Mon Sep 17 00:00:00 2001 From: Sibilla Date: Thu, 14 May 2026 11:43:30 +0200 Subject: [PATCH] ci: bump Node.js from 20 to 24 LTS Update CI, Docker image (v37), docs, and package.json engines. Depends on #4115 for Node 24 locale test fixes. --- .containerversion | 2 +- .github/workflows/ci.yml | 10 +++++----- README.md | 4 ++-- docs/BUILD.md | 2 +- frontends/web/package.json | 3 +++ scripts/docker_install.sh | 4 ++-- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.containerversion b/.containerversion index 7facc89938..81b5c5d06c 100644 --- a/.containerversion +++ b/.containerversion @@ -1 +1 @@ -36 +37 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c30c35cc3e..ef7ef6652e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,7 +66,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: 20 + node-version: '24.x' cache: npm cache-dependency-path: frontends/web/package-lock.json @@ -154,7 +154,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '24.x' - name: Download APK uses: actions/download-artifact@v7 @@ -246,7 +246,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '24.x' - name: Set up Python uses: actions/setup-python@v6 with: @@ -312,7 +312,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '24.x' - name: Build iOS app run: | make gomobileinit @@ -334,7 +334,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '24.x' - name: Install Go uses: actions/setup-go@v6 with: diff --git a/README.md b/README.md index 4668d5e1fd..bc7822c833 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ The below instructions assume a unix environment. To build the app or run the development workflow, the following dependencies need to be installed: - [Go](https://golang.org/doc/install) version 1.26 -- [Node.js](https://nodejs.org/) version 20.x -- [NPM](https://docs.npmjs.com/about-npm-versions) version 10.x or newer +- [Node.js](https://nodejs.org/) version 24.x +- [NPM](https://docs.npmjs.com/about-npm-versions) version 11.x (bundled with Node 24) - [Qt](https://www.qt.io) version 6.8.2 - install Qt for your platform, including the WebEngine component diff --git a/docs/BUILD.md b/docs/BUILD.md index 2a2c8493d2..1dd14f04f8 100644 --- a/docs/BUILD.md +++ b/docs/BUILD.md @@ -84,7 +84,7 @@ xcrun altool --list-providers --username "APPLE_ID" --password "PASSWORD" The build requires `Microsoft Visual Studio 2022 Community Edition`, with the `MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)` individual component. -It also requires `mingw-w64`, `bash` (e.g. `git-bash`), `make`,`go 1.26`, `node@20`, `QT 6.8.2` with `qtwebengine`, `nsis` +It also requires `mingw-w64`, `bash` (e.g. `git-bash`), `make`,`go 1.26`, `node@24`, `QT 6.8.2` with `qtwebengine`, `nsis` and possibly other tools. Some of the tools are easy to install with `choco`: diff --git a/frontends/web/package.json b/frontends/web/package.json index f3a0198a1f..e99945fb62 100644 --- a/frontends/web/package.json +++ b/frontends/web/package.json @@ -2,6 +2,9 @@ "private": true, "name": "bitboxapp", "version": "0.0.0", + "engines": { + "node": ">=24 <25" + }, "devDependencies": { "@playwright/test": "^1.57.0", "@stylistic/eslint-plugin": "^5.6.1", diff --git a/scripts/docker_install.sh b/scripts/docker_install.sh index 92e185af6e..f2242e0063 100755 --- a/scripts/docker_install.sh +++ b/scripts/docker_install.sh @@ -5,7 +5,7 @@ apt-get update apt-get install -y --no-install-recommends curl ca-certificates # add repository for node/npm -curl -sL https://deb.nodesource.com/setup_20.x | bash - +curl -sL https://deb.nodesource.com/setup_24.x | bash - apt-get install -y --no-install-recommends \ clang \ @@ -67,7 +67,7 @@ pip install -U pip && pip install aqtinstall # qtwebengine is for rendering the frontend. aqt install-qt linux desktop 6.8.2 -m qtpositioning qtserialport qtwebchannel qtwebengine --outputdir /opt/qt6 -npm install -g npm@10 +npm install -g npm@11 curl https://dl.google.com/go/go1.26.0.linux-amd64.tar.gz | tar -xz -C /usr/local