Skip to content

ci: stop release-dry-run failing on every PR, by skipping versions already on npm - #351

Merged
maartenbreddels merged 1 commit into
masterfrom
ci/dry-run-skip-published
Oct 6, 2026
Merged

maartenbreddels merged 1 commit into
masterfrom
ci/dry-run-skip-published

Conversation

@maartenbreddels

Copy link
Copy Markdown
Collaborator

The release-dry-run job stops failing on every PR: it skips the npm dry run when the version in js/package.json is already on npm.

Problem

release-dry-run fails on every pull request with "You cannot publish over the previously published versions: 3.0.0".
npm 11, which comes with node 24 in this job, checks the registry during npm publish --dry-run.
Between releases, js/package.json holds the last released version, so the dry run always hits that check.
A check that is always red teaches people to ignore it. ipyvue's dry run passes only because it still uses node 20 (npm 10).

Change

The job reads the version from the package tarball. When npm view jupyter-vuetify@<version> finds it, the job logs that the dry run is skipped until the version bump, and stops with success. Otherwise it runs the dry run as before.

Validation

  • On the published jupyter-vuetify-3.0.0.tgz, the version check reads 3.0.0 and finds it on npm, so the job skips. For 3.1.0 it does not find it, so the job runs the dry run.
  • CI on this PR shows the skip.

Gaps

  • Between releases the job now checks nothing. The dry run still runs on the PR or tag that bumps the version, before the release job.

Align results

Caution

/align was not run on this change: a small CI fix that Maarten asked about.

Crossreview results

One round, by astra and gpt-6.1-sol. Neither found a defect. Both checked that a missing version and a registry error both fall through to the dry run, and that a new release version is still checked.

🤖 Generated with Claude Code

The release-dry-run job failed on every PR with "You cannot publish over
the previously published versions". npm 11 (node 24) checks the registry in
a dry run, and between releases js/package.json holds the last released
version. ipyvue's dry run still passes because it uses node 20 (npm 10).
The job now skips the dry run, with a log line, when that version is already
on npm. After the version bump, the dry run checks the package as before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@maartenbreddels
maartenbreddels marked this pull request as ready for review October 6, 2026 08:50
@maartenbreddels
maartenbreddels merged commit 7f5701f into master Oct 6, 2026
12 checks passed
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