mirror of
https://github.com/actualbudget/actual.git
synced 2026-10-11 22:49:59 +00:00
Update to Node 24 (#8604)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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/*
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user