Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/backend-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,8 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22, 24, 25]
# Etherpad requires Node >= 25 (see package.json engines.node).
node: ${{ fromJSON('[25]') }}
name: Windows without plugins
runs-on: windows-latest
steps:
Expand Down Expand Up @@ -246,7 +247,8 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22, 24, 25]
# Etherpad requires Node >= 25 (see package.json engines.node).
node: ${{ fromJSON('[25]') }}
name: Windows with Plugins
runs-on: windows-latest

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deb-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '24'
node-version: '25'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Deb node floor mismatch 🐞 Bug ≡ Correctness

The deb packaging workflow now sets up Node 25, but the .deb dependency metadata and smoke-test
still target Node 22/24, so the package can be installed and validated on Node versions that
contradict the repo’s declared Node >=25 floor. This risks shipping a .deb that appears compatible
with older Node versions and makes CI smoke-testing non-representative of the supported runtime.
Agent Prompt
## Issue description
The repository declares `engines.node: ">=25.0.0"`, but Debian packaging still declares `nodejs (>= 22)` and the deb-package workflow smoke-test installs Node 24. This means the produced `.deb` can install on (and CI can validate on) Node versions below the supported floor.

## Issue Context
The PR updates `.github/workflows/deb-package.yml` to use Node 25, and updates `src/package.json` to `engines.node >=25.0.0`. Packaging metadata/docs should match that same floor.

## Fix Focus Areas
- .github/workflows/deb-package.yml[53-57]
- .github/workflows/deb-package.yml[126-158]
- packaging/nfpm.yaml[22-24]
- packaging/nfpm.yaml[110-118]
- packaging/README.md[91-93]
- packaging/bin/etherpad[13-18]

## Proposed fix
1. Update `packaging/nfpm.yaml` dependencies to require Node 25:
   - Change `nodejs (>= 22)` to `nodejs (>= 25)` in both the top-level `depends:` and the `overrides.deb.depends:` block (and RPM override if applicable).
2. Update the deb-package workflow smoke-test to install Node 25:
   - Change `NODE_MAJOR=24` to `NODE_MAJOR=25` and update any comments/pinning text that references `24.x`.
3. Update packaging documentation and wrapper comments to match the new floor:
   - `packaging/README.md`: replace references to `nodejs (>= 22)` and “LTS (24)” with the Node >=25 requirement (and recommended runtime if you still want to mention one).
   - `packaging/bin/etherpad`: update the comment mentioning `Depends: nodejs (>= 22)` to `>= 25`.
4. (Optional but recommended) Ensure any other packaging-related references to the old floor are updated so future changes don’t reintroduce drift.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

cache: pnpm

- name: Resolve version
Expand Down
4 changes: 2 additions & 2 deletions src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,9 @@
"vitest": "^4.1.6"
},
"engines": {
"node": ">=22.13.0",
"node": ">=25.0.0",
"npm": ">=6.14.0",
"pnpm": ">=11.0.0"
"pnpm": ">=11.1.2"
Comment on lines +141 to +143

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Node floor undocumented in packaging 📘 Rule violation ⚙ Maintainability

The PR raises the Node engine requirement in src/package.json to >=25.0.0, but the packaging
documentation still states Node 24 and nodejs (>= 22), creating an undocumented/badly documented
breaking config requirement for packagers.
Agent Prompt
## Issue description
This PR changes the supported/runtime tooling floor (Node and pnpm) but the packaging documentation still references older Node requirements (Node 24 and `nodejs (>= 22)`), which can mislead users and break packaging flows.

## Issue Context
The PR aligns CI and `src/package.json` engines with the Node `>=25` floor, but `packaging/README.md` still documents older prerequisites.

## Fix Focus Areas
- packaging/README.md[22-23]
- packaging/README.md[91-93]
- src/package.json[141-143]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

},
"repository": {
"type": "git",
Expand Down
Loading