🤖 Fix npm publish workflow to skip existing versions #365
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The npm publish workflow on
mainhas been failing with:This error is misleading. The actual issue is:
0.3.0every timeSolution
Use
git describeto generate unique pre-release versions for each commit to main. This allows every push to be publishable without version conflicts.Version Format
On main branch (pre-releases):
Published to npm with
nexttag:npm install @coder/cmux@nextOn version tags (stable releases):
Published to npm with
latesttag:npm install @coder/cmuxHow It Works
make buildwith the updated versionlatest(promotion)Handling Version Promotion
If a tagged release (e.g.,
v0.3.0) is pushed but0.3.0already exists on npm (maybe published as a pre-release or from a previous run), the workflow will update the dist-tag tolatestinstead of failing. This allows promoting versions without re-uploading the tarball.Every commit to main now gets a unique, installable pre-release version! 🎉
Generated with
cmux