etherpad-lite/.github/workflows
John McLear b8d1c8a192
ci(docs): build on PRs and pin Node 22 (Qodo follow-up to #7640) (#7645)
* ci(docs): build on PRs and pin Node 22 (Qodo follow-up to #7640)

Qodo flagged two reliability gaps on the oxc-minify fix that landed in
#7640:

  1. The Deploy Docs to GitHub Pages workflow only ran on push to
     develop, so a PR that broke `pnpm run docs:build` was not caught
     until after merge — exactly how the dead-link regression in #7546
     escaped. Add a pull_request trigger that runs the same build but
     skips the deploy/upload steps via `if: github.event_name ==
     'push'`. Also include the workflow file itself in the path filter
     so changes to it are exercised on PR.
  2. oxc-minify@0.128.0 requires Node ^20.19.0 || >=22.12.0, but the
     workflow did not pin Node and the repo declared engines.node
     >=22.0.0 with engineStrict: true — a runner image (or local dev)
     on Node 22.0–22.11 would refuse to install. Pin Node 22 in the
     docs workflow with actions/setup-node@v6 (matching the rest of
     CI), and bump engines.node to >=22.12.0 so the project's
     engineStrict gate matches the actual minimum.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci(docs): split build and deploy so PR runs do not hit pages env protection

The previous attempt put `if: github.event_name == 'push'` on individual
deploy steps but kept the single job's `environment: github-pages`
binding. Environment protection rules reject any non-develop ref
(including `refs/pull/N/merge`), so the runner failed the entire job
at creation time before any step could execute:

    Branch "refs/pull/7645/merge" is not allowed to deploy to
    github-pages due to environment protection rules.

Split into two jobs: `build` runs on every trigger (PR + push) and
uploads the artifact only on push, `deploy` depends on `build`,
runs only on push, and is the only job bound to the github-pages
environment. Standard GHA pages-deploy pattern; PR builds never
attempt to enter the protected environment.

* docs: align Node minimum references with bumped engines.node (Qodo round 2 on #7645)

Qodo flagged that engines.node moved from >=22.0.0 to >=22.12.0 in
this PR but documentation still claimed the old requirement. Sync the
three places that pinned a specific minimum:

  - README.md installation requirements (>= 22 → >= 22.12)
  - doc/npm-trusted-publishing.md publish prerequisites
    (>=22.0.0 → >=22.12.0, with oxc-minify cited as the driver)
  - CHANGELOG.md 2.7.3 breaking-changes entry (22 → 22.12, with the
    same oxc-minify justification)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 17:12:23 +01:00
..
backend-tests.yml ci: test ep_font_color and ep_hash_auth in with-plugins matrix (#7639) 2026-05-01 09:07:24 +01:00
build-and-deploy-docs.yml ci(docs): build on PRs and pin Node 22 (Qodo follow-up to #7640) (#7645) 2026-05-01 17:12:23 +01:00
codeql-analysis.yml build(deps): bump actions/checkout from 5 to 6 (#7233) 2025-11-30 20:31:22 +01:00
deb-package.yml ci(packaging): publish signed apt repository to etherpad.org/apt (closes #7610) (#7624) 2026-04-29 00:20:00 +01:00
dependency-review.yml build(deps): bump actions/checkout from 5 to 6 (#7233) 2025-11-30 20:31:22 +01:00
docker.yml chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00
frontend-admin-tests.yml chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00
frontend-tests.yml ci: test ep_font_color and ep_hash_auth in with-plugins matrix (#7639) 2026-05-01 09:07:24 +01:00
handleRelease.yml chore: added release notes for 2.7.1 (#7604) 2026-04-26 11:30:43 +02:00
installer-test.yml feat: add one-line installer script (#7466) (#7485) 2026-04-07 17:10:22 +01:00
load-test.yml chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00
perform-type-check.yml chore: added release notes for 2.7.1 (#7604) 2026-04-26 11:30:43 +02:00
rate-limit.yml chore: added release notes for 2.7.1 (#7604) 2026-04-26 11:30:43 +02:00
release.yml chore: added release notes for 2.7.1 (#7604) 2026-04-26 11:30:43 +02:00
releaseEtherpad.yml chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00
stale.yml build(deps): bump actions/stale from 9 to 10 (#7115) 2025-09-08 19:25:33 +02:00
update-plugins.yml chore: added release notes for 2.7.1 (#7604) 2026-04-26 11:30:43 +02:00
upgrade-from-latest-release.yml chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00