-
Notifications
You must be signed in to change notification settings - Fork 62
Automated semantic version tagging #284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@BenTheElder do you happen to know if any community repos have automation/scripting/tooling around git semver tagging? @yongruilin as a potential future task. I can help but notice that apidiff could, in theory, be used to know if the version bump should be patch, minor or major version bump. |
AFAIK we do not, some repos have automation for cutting the binaries etc but not for determining when to introduce a tag. Usually there are a few admins for the repo that have push access to push tags, and then the rest after that may or may not be automated. Also, automation of github in general is challenging because we either:
Personally, I write some human invoked scripts based around what the project needs. |
Note that this means even if we had automation, if the automation fails, you're the only person that can work around that.1 I would personally suggest adding more maintainers and just coming to an agreement about what releasing looks like. What I usually do is ensure that maintainers explicitly set
This can only work accurately if you never make any breaking changes internally and instead only consider changes that alter the API signatures. I'm not certain about this project, but for most projects I don't think that's an adequate consideration of versions, in many cases the user-facing API shape doesn't change but there's some breaking behavioral change? Footnotes
|
Thanks @BenTheElder! Maybe the answer is we add a script that makes this slightly safer for human triggered. Probably just need to make sure the tag is not malformed (it's a valid semver) and it's a valid next version (next major, minor or patch version). |
I think this plus the tagging / pushing would be great! FWIW one thing I've done so far in kind is have the release script only print commands to copy/paste for anything that actually touches upstream, so a human gets the final say kinda opposite this. In case there's a bug in the script I don't want it silently force-pushing over upstream in a surprising way, but I've personally been pretty happy with "script does everything locally and then prints out the potentially dangerous commands along with instructions" hack/release/create.sh in sigs.k8s.io/kind |
We need better semver tag management for this repo.
I just manually tagged v4.6.0 from the command line directly from git. I could not find any scripts or automation to help ensure the tagging happens as intended. I think I might be the only person able to perform this task, which I don't love.
Having process/automation around tagging feels needed. I haven't thought carefully about how that should work and am open to suggestions (scripts to help perform the task or automation triggered when PRs are merged..).
The text was updated successfully, but these errors were encountered: