etherpad-lite/.github/workflows
John McLear 32249d99e2
fix(ci): reap whole server tree in installer smoke test so it can't hang 6h (#7981)
The "Installer test" workflow has hung for 6 hours (until GitHub's job
ceiling cancels it) on every ubuntu/macos run since v3.2.0. The smoke
test starts `pnpm run prod` in the background, confirms /api responds,
then tears it down with:

    kill "$PID"
    wait "$PID"

`pnpm run prod` is a nested launcher (pnpm -> pnpm --filter -> node), so
$PID is only the outer pnpm. SIGTERM is forwarded down the chain and the
script then `wait`s on it, but if the node server doesn't exit (e.g. a
live flush timer keeping the event loop alive) the wait blocks forever
and the step never releases its output pipe -> 6h hang. Windows passed
because it uses `Stop-Process -Force`.

Fix the teardown to be robust regardless of server shutdown behaviour:
- `set -m` so the launcher gets its own process group
- kill the whole group (SIGTERM, then SIGKILL fallback) via a trap
- drop the blocking `wait`
- add `timeout-minutes: 8` to both smoke steps as a hard backstop so a
  future hang fails in minutes, not 6 hours

This unblocks CI on PRs that touch the installer workflow. The
underlying clean-shutdown regression (server not exiting on SIGTERM,
likely the ueberDB flush-timer setInterval) is tracked separately.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 11:37:04 +01:00
..
backend-tests.yml build(deps): bump awalsh128/cache-apt-pkgs-action from 1.6.0 to 1.6.1 (#7963) 2026-06-15 19:08:07 +01:00
build-and-deploy-docs.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +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 deps: pin ueberdb2 to 6.1.9 (fixes standalone-server startup exit) + run deb smoke on PRs (#7969) 2026-06-16 11:39:37 +01:00
dependency-review.yml build(deps): bump actions/dependency-review-action from 4 to 5 (#7729) 2026-05-12 20:44:39 +02:00
docker.yml feat: Add test step to check etherpad works offline (#7936) 2026-06-10 09:53:16 +01:00
downstream-smoke.yml ci(downstream): enable pad/cli/desktop smoke clients (Phase 2) (#7924) 2026-06-09 13:49:42 +01:00
frontend-admin-tests.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
frontend-tests.yml ci: swap deprecated ep_readonly_guest for ep_guest in plugin matrix (#7808) 2026-05-18 13:30:58 +01:00
handleRelease.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
installer-test.yml fix(ci): reap whole server tree in installer smoke test so it can't hang 6h (#7981) 2026-06-19 11:37:04 +01:00
load-test.yml ci: swap deprecated ep_readonly_guest for ep_guest in plugin matrix (#7808) 2026-05-18 13:30:58 +01:00
perform-type-check.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
rate-limit.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
release.yml Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
releaseEtherpad.yml chore(release): park the non-functional ep_etherpad npm publish (#7922) 2026-06-17 15:18:41 +01:00
snap-build.yml build(deps): bump actions/upload-artifact from 4 to 7 (#7669) 2026-05-06 20:12:12 +02:00
snap-publish.yml build(deps): bump actions/download-artifact from 4 to 8 (#7668) 2026-05-06 20:12:20 +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 Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
upgrade-from-latest-release.yml build(deps): bump awalsh128/cache-apt-pkgs-action from 1.6.0 to 1.6.1 (#7963) 2026-06-15 19:08:07 +01:00