etherpad-lite/.github/workflows
John McLear d1f51f3ba8 fix(packaging): tsx CJS hook, plugin paths writable, glob tag triggers
Addresses second-round Qodo review on #7583:

- bin/etherpad: switch from `--import tsx/.../esm` to `--require
  tsx/cjs`. server.ts uses `exports.start = ...` which throws under
  the ESM loader; the prod script in src/package.json uses tsx/cjs
  for the same reason.
- postinstall: symlink /opt/etherpad/src/plugin_packages →
  /var/lib/etherpad/plugin_packages and chgrp /opt/etherpad/src/node_modules
  to etherpad with mode 2775. Otherwise admin-UI plugin install
  EACCESes — those are the dirs LinkInstaller writes to.
- systemd unit: add /opt/etherpad/src/node_modules to ReadWritePaths
  so symlink creation by the etherpad user is allowed under
  ProtectSystem=strict. plugin_packages is already covered via the
  symlink into /var/lib/etherpad.
- postremove: clean up the new plugin_packages symlink on remove.
- workflow: tag filters were `v[0-9]+.[0-9]+.[0-9]+`, but Actions tag
  filters are globs, not regex. `[0-9]+` matches one character, so
  multi-digit tags like v2.10.0 would never trigger. Switch to
  `v*.*.*` / `v*.*.*-*`, matching handleRelease.yml.
- workflow smoke test now asserts plugin_packages symlink target,
  ownership of plugin_packages and node_modules.
- test-local.sh: new script that builds the .deb and runs the same
  smoke test in a throwaway systemd-enabled Docker container, so
  failures are caught before pushing.
- README: document test-local.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 04:39:25 +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
deb-package.yml fix(packaging): tsx CJS hook, plugin paths writable, glob tag triggers 2026-04-27 04:39:25 +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