-
Notifications
You must be signed in to change notification settings - Fork 115
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
Detect the appropriate version from compatibility checks #62
Comments
Nice, we can call semverver to give user a suggestion on release level |
I've just noticed (in this issue: rust-lang/rust-semverver#61) that this is a feature people are interested in. How exactly do you expect to interact with rust-semverver? I'm not sure parsing it's text output would be the most comfortable way of approaching this. I'm open for your input. |
I haven't got time to looking into detail with rust-semverver. I really wish it can provides an output format that friendly for other tools to parse. |
Here is the entirety of what $ cargo semver 2>/dev/null
version bump: 0.1.2 -> (breaking) -> 0.1.3 A bash one-liner, adapted from the README: $ cargo semver 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | tail -n1
0.1.3 |
On 2018-06-17, Dan Kaplun wrote:
Here is the entirety of what `cargo semver` outputs to stdout:
```sh
$ cargo semver 2>/dev/null
version bump: 0.1.2 -> (breaking) -> 0.1.3
```
A bash one-liner, adapted from the [README](https://github.com/rust-lang-nursery/rust-semverver#ci-setup):
```sh
$ cargo semver 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | tail -n1
0.1.3
```
I'm aware, as I built that functionality ;)
My point is, parsing the text output is probably somewhat ugly -- I'll
look into a library interface or something similar, especially since the
user might want to keep the output. Or it could be beneficial to just
implement the version update in rust-semverver, by requiring
cargo-release.
|
@ibabushkin rust-semverver would be a too big dependency to cargo-release. I still recommend a programmer friendly output option for rust-semverver. For example |
To get back to this -- how about just shelling out to That way we'd avoid duplicating functionality and keep the tools decoupled. |
So the main integration talked about in the comments is auto-choosing the level. Another helpful integration would be that if the level is not a breaking level, then run the tool to ensure an accidental breakage isn't happening. |
Well, one can argue about the modality of running semverver obviously, but the main point for me now is whether the proposed level of dependency on an external tool is acceptable to the maintainers. I suppose one can make the behaviour switchable between "no semverver", "run semverver to avoid breakage" and "run semverver and use what it suggests" |
I would be interested in flags that let me tell |
https://github.com/iomentum/cargo-breaking might be of interest as an easier tool to integrate |
Automatically detecting the version is a no go because automated checks aren't sufficient. We could report the information in We could also do it as a sanity check at the beginning of the release process ( |
Been looking into the concept of generating a changelog from fragments. My thoughts are at epage/epage.github.io#23 (comment) I think this would allow the changelog to control the version bump which would allow a human to get inbetween the automatic version bumping and the release, to adjust as needed. |
It would be handy to have integration between cargo-release and https://github.com/rust-lang-nursery/rust-semverver
The text was updated successfully, but these errors were encountered: