Repository navigation
fix(library-publish): a promotion removes any catch-up tag it finds, not only its own - #16
Merged
Merged
Conversation
…not only its own beplus/ai's first stage promotion caught up and left a `catch-up` dist-tag on all twelve packages: the npm-publishing role lacks codeartifact:PutPackageMetadata, which removing a dist-tag needs. Granting it would not have cleared them, because a run removed the tag only from the packages it had just caught up on, and the next run has nothing to catch up. The CodeArtifact read that lists a package's versions now returns its dist-tags too (still one call), and the tag goes from every package that has one. The warning names the missing permission. Co-Authored-By: Igor Lamos <igor@be.plus>
igorlamos
approved these changes
Oct 8, 2026
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.
beplus/ai's first stage promotion after #15 caught up 5 versions of each of its 12 packages and stayed green, but left a
catch-updist-tag on all 12, with a warning for each:Removing a dist-tag in CodeArtifact needs
PutPackageMetadata, and thenpm-publishingroles have onlyPublishPackageVersion, which sets a tag on publish but can't remove it. Granting the permission alone wouldn't clear these 12: a run removed the tag only from the packages it had just caught up on, and the nextaipromotion has nothing to catch up.The change (
promotejob)npm view <name> versions dist-tags), so it's still one call per package.tagged.txtlists the packages that still carrycatch-up.README updated.
Tested
Not run on GitHub yet. Locally, the steps ran against stubbed
npm, set up with the state beplus/ai's run left:PutPackageMetadata.Before merge
The
CodeArtifactPolicyin bepluscloud/monorepo'sGitHubOIDCStack.tsgetscodeartifact:PutPackageMetadata(being done separately). Without it, this PR changes nothing but the warning.After merge
v2.10.1and movev2to the merge commit.stagebranch. It has nothing to catch up, and removes the 12 leftover tags.beplus/be#9 got the same fix in
scripts/release/catch-up-codeartifact.sh.