fix(ci): make publish idempotent, fix stale tags, run tests on all PR pushes#7
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Changes
publish.yml
Stale tag cleanup — if a previous run failed after creating the tag but before pushing, the next retry would fail with
fatal: tag 'vX.X.X' already exists. The bump step now deletes the stale local and remote tag before recreating it.Idempotent publish — if a previous run published to npm but failed before pushing the git tag/commit, the next retry would fail with
You cannot publish over the previously published versions. The publish step now checks the npm registry first and skips if the version already exists.RELEASE_TOKEN — uses a classic PAT to push the version bump commit to
main, which is required to bypass the branch protection ruleset.test.yml
Removed
types: [ opened ]so the "Run Jest Tests" check runs on every push to a PR, not only when the PR is first opened. Without this, the check gets permanently stuck as "Waiting for status to be reported" whenever new commits are pushed to an open PR.