-
Notifications
You must be signed in to change notification settings - Fork 141
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
Consider running semver check only before release #1379
Comments
I'm afraid this suggestion comes from the assumption that semver CI would conveniently remove the need to keep doing issues like #1345, but unfortunately that is not the case semver CI will only point us to necessary MAJOR bumps (breaking changes), which means we still need to be disciplined on how we manage MINOR and PATCH bumps if we only left management of MINOR and PATCH bumps to be done immediately before the release (by humans, CI is impossible), we would allow too much margin for human error, as we could miss things because there were too many PRs during the milestone for MAJOR bumps, indeed we have two options:
I'm not necessarily opinionated towards one or the other, but IMO the benefits of switching strategies are only marginal, and much smaller than what this suggestion seems to be aiming at |
So you have three options: |
rust crates MUST follow semver so minor means that we are adding features (no removing or changing existing API, so no breaking change). So majior and miner both touch the API where majior introduce a breaking change minor does not. Patch do not touch the API. |
Yea we agree on this. I think. |
What would be the real benefit behind this? |
Currently we run semver check for each PR and we also keep notes for any semver change in an issue. This feel like over-complicated.
I suggest to run semver only once before we start the release and catch all needed upgrades. I think we should do it in the last PR merged before the release start.
So the flow suggested here will look like this:
The text was updated successfully, but these errors were encountered: