etherpad-lite/.github/workflows
John McLear 053f6d8343
fix(#7570): bundle DB drivers, add regression CI (#7572)
* docs: design spec for issue #7570 (ueberdb2 driver bundling)

Spec for the upstream ueberDB fix (move 10 drivers back from optional
peer deps to dependencies) plus downstream etherpad-lite safety net
(explicit driver list + build-test-db-drivers CI job covering all 10
via presence check and MySQL+Postgres smoke tests).

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

* docs: implementation plan for issue #7570 ueberdb2 driver bundling

Covers upstream ueberDB PR (move drivers from optional peer deps back
to dependencies, publish 5.0.46) and downstream etherpad-lite PR
(bump ueberdb2, defensive driver list, build-test-db-drivers CI job
with presence + MySQL + Postgres stages gating publish).

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

* fix(#7570): bundle DB drivers, add regression CI

- Bump ueberdb2 to ^5.0.47 (upstream ueberDB PR #939 re-bundles drivers
  as real dependencies instead of optional peer deps, fixing the class
  of Docker-prod "Cannot find module" failures).
- Declare all 10 ueberdb2 DB drivers as direct src dependencies as a
  defensive safety net against a future upstream drift.
- Add build-test-db-drivers CI job that blocks the publish job:
    * all-10-drivers presence check in the built prod image
    * end-to-end MySQL smoke (reproduces the #7570 repro)
    * end-to-end Postgres smoke
  Any stage failure blocks Docker Hub / GHCR publish.

Supersedes #7571.

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

* fix(ci): run driver presence test from src/ so node_modules resolves

The presence test ran node from the default cwd (/opt/etherpad-lite),
but the drivers are installed under /opt/etherpad-lite/src/node_modules
by the monorepo workspace. Adding `-w /opt/etherpad-lite/src` makes
Node resolve modules from src/node_modules where pnpm places them.

Matches how the production container itself runs: `pnpm run prod` is
invoked from src/ (cross-env + node --require tsx/cjs node/server.ts).

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 18:10:01 +01:00
..
backend-tests.yml chore: reduce CI matrix for PRs to prevent runner exhaustion (#7463) 2026-04-05 10:14:20 +01:00
build-and-deploy-docs.yml build(deps): bump actions/upload-pages-artifact from 4 to 5 (#7517) 2026-04-14 22:10:07 +02:00
codeql-analysis.yml build(deps): bump actions/checkout from 5 to 6 (#7233) 2025-11-30 20:31:22 +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 fix(#7570): bundle DB drivers, add regression CI (#7572) 2026-04-20 18:10:01 +01:00
frontend-admin-tests.yml fix: increase max socket.io message size to 10MB for large pastes (#7474) 2026-04-06 15:12:08 +01:00
frontend-tests.yml chore: reduce CI matrix for PRs to prevent runner exhaustion (#7463) 2026-04-05 10:14:20 +01:00
handleRelease.yml build(deps): bump softprops/action-gh-release from 2 to 3 (#7501) 2026-04-13 21:25:37 +02:00
installer-test.yml feat: add one-line installer script (#7466) (#7485) 2026-04-07 17:10:22 +01:00
load-test.yml Move load test to daily schedule instead of every push (#7425) 2026-04-01 19:03:19 +01:00
perform-type-check.yml build(deps): bump actions/cache from 4 to 5 (#7264) 2025-12-19 21:24:15 +01:00
rate-limit.yml build(deps): bump actions/cache from 4 to 5 (#7264) 2025-12-19 21:24:15 +01:00
release.yml build(deps): bump reitzig/actions-asciidoctor from 2.0.3 to 2.0.4 (#7370) 2026-03-16 16:34:06 +00:00
releaseEtherpad.yml feat: migrate npm publish to OIDC trusted publishing (#7401) (#7490) 2026-04-07 17:38:23 +01:00
stale.yml build(deps): bump actions/stale from 9 to 10 (#7115) 2025-09-08 19:25:33 +02:00
update-plugins.yml ci(security): restrict GITHUB_TOKEN permissions in update-plugins workflow (#7557) 2026-04-19 17:26:42 +01:00
upgrade-from-latest-release.yml chore: reduce CI matrix for PRs to prevent runner exhaustion (#7463) 2026-04-05 10:14:20 +01:00