Update to Node 24 (#8604)

This commit is contained in:
Julian Dominguez-Schatz
2026-08-02 16:00:07 +00:00
committed by GitHub
parent f72498016e
commit fd4dea21ae
13 changed files with 26 additions and 17 deletions
@@ -6,7 +6,7 @@ runs:
steps:
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 22
node-version: 24
- name: Install dependencies
shell: bash
run: yarn workspaces focus @actual-app/ci-actions
@@ -17,7 +17,7 @@ runs:
steps:
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 22
node-version: 24
- name: Install dependencies
shell: bash
run: yarn workspaces focus actual @actual-app/ci-actions
+1 -1
View File
@@ -21,7 +21,7 @@ runs:
- name: Install node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 22
node-version: 24
package-manager-cache: false
- name: Install yarn
run: npm install -g yarn
+1 -1
View File
@@ -111,7 +111,7 @@ jobs:
context: .
push: ${{ github.event_name != 'pull_request' }}
file: packages/sync-server/docker/${{ matrix.os }}.Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7${{ matrix.os == 'alpine' && ',linux/arm/v6' || '' }}
platforms: linux/amd64,linux/arm64${{ matrix.os == 'alpine' && ',linux/arm/v7,linux/arm/v6' || '' }}
tags: ${{ steps.meta.outputs.tags }}
build-args: |
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -110,7 +110,7 @@ jobs:
context: .
push: true
file: packages/sync-server/docker/ubuntu.Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
- name: Build alpine image for testing
@@ -31,7 +31,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 22
node-version: 24
- name: Handle feature requests
run: node .github/actions/handle-feature-requests.js
env:
+1 -1
View File
@@ -1 +1 @@
v22.18.0
v24.18.1
+1 -1
View File
@@ -590,7 +590,7 @@ When running the app for manual testing or demos, use **"View demo"** on the ini
### Gotchas
- The `engines` field requires **Node.js >=22** and **Yarn ^4.9.1**. The `.nvmrc` specifies `v22/*`.
- The `engines` field requires **Node.js >=22** and **Yarn ^4.9.1**. The `.nvmrc` specifies `v24.18.1`.
- Pre-commit hook runs `nano-staged` (oxfmt + oxlint, configured in `.nano-staged.json`) via Husky. Run `yarn prepare` once after install to set up hooks.
- Lage caches test results in `.lage/`. If tests behave unexpectedly, clear with `rm -rf .lage`.
- Native modules (`better-sqlite3`, `bcrypt`) require build tools (`gcc`, `make`, `python3`). These are pre-installed in the Cloud VM.
+1 -1
View File
@@ -5,7 +5,7 @@
# you are doing.
###################################################
FROM node:22-bookworm as dev
FROM node:24-bookworm AS dev
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y openssl
WORKDIR /app
CMD ["sh", "./bin/docker-start"]
@@ -1,8 +1,7 @@
FROM node:22-alpine AS builder
FROM alpine:3.23 AS builder
# Install required packages
RUN apk add --no-cache python3 openssl build-base
RUN corepack enable
RUN apk add --no-cache nodejs python3 openssl build-base
WORKDIR /app
@@ -10,6 +9,10 @@ COPY .yarn ./.yarn
COPY yarn.lock package.json .yarnrc.yml ./
COPY packages ./packages
# Alpine's Node.js package does not include Corepack, so expose the vendored
# Yarn release on PATH.
RUN ln -s /app/.yarn/releases/yarn-*.cjs /usr/local/bin/yarn
# Avoiding memory issues with ARMv7
RUN if [ "$(uname -m)" = "armv7l" ]; then yarn config set taskPoolConcurrency 2; yarn config set networkConcurrency 5; fi
@@ -26,7 +29,7 @@ RUN find node_modules/@actual-app -maxdepth 2 -type d \
\( -name src -o -name e2e -o -name __tests__ -o -name __mocks__ -o -name tests -o -name test -o -name build-stats \) \
-exec rm -rf {} +
FROM alpine:3.22 AS prod
FROM alpine:3.23 AS prod
# Minimal runtime dependencies
RUN apk add --no-cache nodejs tini
@@ -1,4 +1,4 @@
FROM node:22-bookworm AS builder
FROM node:24-bookworm AS builder
# Install required packages
RUN apt-get update && apt-get install -y openssl
@@ -25,7 +25,7 @@ RUN find node_modules/@actual-app -maxdepth 2 -type d \
\( -name src -o -name e2e -o -name __tests__ -o -name __mocks__ -o -name tests -o -name test -o -name build-stats \) \
-exec rm -rf {} +
FROM node:22-bookworm-slim AS prod
FROM node:24-bookworm-slim AS prod
# Minimal runtime dependencies
RUN apt-get update && apt-get install tini && apt-get clean -y && rm -rf /var/lib/apt/lists/*
+2 -2
View File
@@ -1,4 +1,4 @@
FROM node:22-bookworm AS deps
FROM node:24-bookworm AS deps
# Install required packages
RUN apt-get update && apt-get install -y openssl
@@ -50,7 +50,7 @@ RUN rm -rf ./node_modules/@actual-app/web ./node_modules/@actual-app/sync-server
COPY ./packages/desktop-client/package.json ./node_modules/@actual-app/web/package.json
RUN cp -r ./packages/desktop-client/build ./node_modules/@actual-app/web/build
FROM node:22-bookworm-slim AS prod
FROM node:24-bookworm-slim AS prod
# Minimal runtime dependencies
RUN apt-get update && apt-get install -y tini && apt-get clean -y && rm -rf /var/lib/apt/lists/*
@@ -0,0 +1,6 @@
---
category: Maintenance
authors: [jfdoming]
---
\[BREAKING CHANGE\] Update release artifacts to use Node.js 24 by default and drop Ubuntu image support for 32-bit ARM devices