fix: seed counters from existing git tags to prevent duplicates - #4
Merged
Merged
Conversation
The Skyhook matrix builder used an in-memory counter that reset every run, always starting from _01. Two pushes to main on the same day would generate identical service tags, causing `gh release create` to fail with `Release.tag_name already exists`. Now queries `git ls-remote --tags origin` before building the matrix to find the highest existing counter per service for the given tag base, and starts from there. This aligns with how determine-image-tag handles counters.
hisco
approved these changes
Mar 17, 2026
|
🎉 This PR is included in version 1.4.1 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
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.
Summary
_01service_tagvaluesgit ls-remote --tags originto find highest existing counter per service before building the matrixRoot cause
buildMatrixFromSkyhookincrements a per-service counter within a single run (for service x environment disambiguation), but the counter map starts empty each run. It never checks what tags already exist on the remote.Changes
index.js: AddedgetExistingTagCounters()that queries remote tags and finds the highest_NNcounter per service for the given tag basedist/index.jsRelated
Test plan