Skip to content

Conversation

@alondmnt
Copy link
Collaborator

Summary

  • Update actions/checkout from v2 to v4 and actions/setup-node from v1 to v4 across all workflows (ci, cd, coverage)
  • Pin node-version: 18 to prevent runner default (Node 10) from being used
  • Fixes all CI/CD workflows that currently fail with --openssl-legacy-provider is not allowed in NODE_OPTIONS (exit code 9)

Context

actions/setup-node@v1 without a node-version field resolves to whatever Node version is pre-installed on the runner (currently Node 10.24.1). The project's build script uses NODE_OPTIONS=--openssl-legacy-provider, which is only supported in Node 17+. This causes every workflow to fail during npm install (via the prepare script).

Test plan

  • CI checks pass on this PR (self-verifying)

`actions/setup-node@v1` without a pinned node-version resolves to
Node 10, which rejects the `--openssl-legacy-provider` flag used in
the build script (exit code 9), breaking all CI/CD workflows.
npm 9+ (bundled with Node 18) enforces strict peer dependency
resolution by default. The project has a peer conflict between
ts-jest@27 and @types/jest@27 that requires --legacy-peer-deps
to resolve.
@alondmnt alondmnt merged commit 6aadf84 into joplin:master Feb 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant