Skip to content

ci: install Node 22 + trigger release after Dependabot Automerge#107

Merged
JohnMcLear merged 1 commit intomainfrom
fix/node22-and-automerge-trigger
May 3, 2026
Merged

ci: install Node 22 + trigger release after Dependabot Automerge#107
JohnMcLear merged 1 commit intomainfrom
fix/node22-and-automerge-trigger

Conversation

@JohnMcLear
Copy link
Copy Markdown
Member

Summary

Two unrelated CI bugs that were blocking the same test-and-release.yml job graph:

  1. Node 22 in backend + frontend test jobs. Both workflows were running on the runner image's default Node (20.20), but Etherpad core's bin/installDeps.sh requires Node 22+ — last main run fails with:

    ERROR: Your nodejs version "20.20" is too old. nodejs 22.0.x or higher is required.

    Add actions/setup-node@v4 with node-version: 22 to both jobs.

  2. Auto-publish after Dependabot merges. GitHub suppresses on:push triggers when the push is authored by GITHUB_TOKEN (the automerge-action's only available identity), so merged Dependabot PRs landed on main without ever firing the release job. Fix mirrors what's shipped across the rest of the ether/* plugins:

    • automerge.yml gets actions: write and a post-merge gh workflow run test-and-release.yml --ref <default branch> step, gated on mergeResult == 'merged'.
    • test-and-release.yml gains a workflow_dispatch: trigger so gh workflow run is permitted.

A previous attempt at #2 (branch fix/automerge-trigger-release, run 25259365984) failed because Node 22 wasn't installed yet — bundling both fixes here unblocks both.

Test plan

  • Backend Tests succeed on this branch
  • Frontend Tests succeed on this branch
  • After merge, the next Dependabot auto-merge triggers a release run

Two unrelated CI bugs landing together because they were blocking the
same job graph:

1. backend-tests.yml and frontend-tests.yml were running on the
   default ubuntu-latest Node (currently 20.20), but Etherpad core's
   bin/installDeps.sh requires Node 22+:

       ERROR: Your nodejs version "20.20" is too old. nodejs 22.0.x or higher is required.

   Add `actions/setup-node@v4` with `node-version: 22` to both jobs.

2. The release job (test-and-release.yml) wasn't firing after
   Dependabot auto-merges. GitHub suppresses on:push triggers when the
   push is authored by GITHUB_TOKEN (which is automerge-action's only
   available identity), so merged Dependabot PRs landed on main but
   nothing published to npm.

   Fix mirrors what shipped to the rest of the ether/* plugins:
   - automerge.yml gets `actions: write` permission and a
     `gh workflow run test-and-release.yml --ref <default branch>`
     step gated on `mergeResult == 'merged'` (so we don't dispatch a
     phantom release on every Dependabot Automerge invocation).
   - test-and-release.yml gains a `workflow_dispatch:` trigger so
     `gh workflow run` is allowed to fire it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@qodo-code-review
Copy link
Copy Markdown

ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one.

@JohnMcLear JohnMcLear merged commit 89f2661 into main May 3, 2026
3 checks passed
@JohnMcLear JohnMcLear deleted the fix/node22-and-automerge-trigger branch May 3, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant