Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions .github/workflows/npmpublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,17 @@ jobs:
steps:
- uses: actions/setup-node@v7
with:
# OIDC trusted publishing needs npm >= 11.5.1, which requires
# Node >= 20.17.0. setup-node's `20` resolves to the latest
# 20.x, which satisfies that.
node-version: 25
# OIDC trusted publishing needs npm >= 11.5.1. Node 24 is an LTS
# line that every npm 11.x and 12.x supports; Node 25 is not —
# npm 12 requires ^22.22.2 || ^24.15.0 || >=26.0.0, so on Node 25
# the upgrade step below died with EBADENGINE and no plugin could
# publish.
node-version: 24
registry-url: https://registry.npmjs.org/
# Pinned to a range rather than @latest: the next npm major dropping
# this Node line would silently break publishing fleet-wide again.
- name: Upgrade npm to >=11.5.1 (required for trusted publishing)
run: npm install -g npm@latest
run: npm install -g npm@^11.5.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. Publishing can break again unnoticed 📘 Rule violation ▣ Testability

.github/workflows/npmpublish.yml replaces Node 25 and npm@latest with Node 24 and npm@^11.5.1,
but the diff adds no automated test that verifies this compatible version pairing. If either
selection is reverted or changed incompatibly, CI has no regression assertion before the publishing
path reaches the failing npm upgrade step.
Agent Prompt
## Issue description
The publishing bug fix changes the Node and npm versions without adding an automated regression test for the compatibility requirement that previously caused the upgrade step to fail.

## Fix Focus Areas
- .github/workflows/npmpublish.yml[23-33]

## Recommended Fix
Add an automated workflow configuration test that parses the publishing workflow and asserts the supported Node 24 selection and npm 11 range. Ensure the test fails if the workflow returns to Node 25, `npm@latest`, or another known-incompatible pairing.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

- name: Check out Etherpad core
uses: actions/checkout@v7
with:
Expand Down
Loading