ci: stop pinning pnpm to v10 (fixes 6h frontend-test timeout)#90
Conversation
The CI forced pnpm down to 10.x via `version: 10` in pnpm/action-setup, while Etherpad core requires `pnpm@11.1.2` (its packageManager field). Under the mismatch the dev server's lazy frontend build never completed, so the `ace_outer` editor iframe never rendered and *every* frontend spec (including core a11y/rtl specs) timed out — the job ran the full 90s-per-test suite with retries until the 6h job limit cancelled it. This has cancelled every frontend run since ~May; PR #89's checkout bump was an unrelated victim, not the cause. Match the rest of the ether/* plugin fleet (e.g. ep_align): read the pnpm version from etherpad's package.json via `package_json_file` (frontend/backend jobs that check core out at ./etherpad-lite) and let the publish job auto-detect from the root core checkout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
PR Summary by QodoCI: Use Etherpad’s pnpm packageManager pin instead of forcing v10 Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1. Publish pnpm not pinned
|
Problem
Every
Node.js Packagerun on this repo has been cancelled at the 6-hour job limit since ~May — including the current Dependabot checkout bump #89. The frontend job runs the full coretest-uisuite, and every spec (the plugin's owndefine.spec.tsand core specs likea11y_dialogs/rtl_url_param) fails identically:The editor iframe never renders, so all ~hundreds of specs burn 90s × retries until the job is cancelled.
Root cause
The workflows pin
pnpm/action-setuptoversion: 10, but Etherpad core declarespackageManager: pnpm@11.1.2. The CI log shows the forced downgrade:Under that mismatch the backgrounded
pnpm run devserver's lazy frontend build never produces a working editor bundle (thecurl /readiness probe still passes because the landing page doesn't need the build), so every pad load times out.This is not caused by #89's
actions/checkoutv6→v7 bump — that PR is just the latest victim. Verified by correlation across the fleet: everyether/*plugin that reads etherpad's pin viapackage_json_file(ep_align, ep_font_color, ep_headings2, ep_font_size, ep_cursortrace …) passes its frontend job in ~4 min; ep_define is the only one still onversion: 10and the only one cancelled at 6h. Locally, the editor loads fine with ep_define installed under pnpm 11.Fix
Match the rest of the fleet:
./etherpad-lite):package_json_file: ./etherpad-lite/package.jsonversion:and letaction-setupauto-detectAfter this lands, rebase #89 (
@dependabot rebase) and it should go green.🤖 Generated with Claude Code