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
workspace: when setting post-release, dependents not updated #206
Comments
This is a wild guess because I feel like the cargo book doesn't do a good job talking about prerelease Currently, dev-version-ext = "dev" I think that should be dev-version-ext = "dev.0" We append Note the default is dev-version-exit = "alpha.0" FYI we only support bumping RC, Beta, and Alpha. If Cargo supports Dev, we could add support for it. |
I don't think that's what is happening. I have constructed a cargo workspace in the in-between state that
Running I believe that's what's happening in the I'm pretty sure this is cargo's pre-release prevention kicking in here... If you only-numeric components like One thing I can think of that would probably help is to reverse the order: Bump the versions (and their dependency versions) of the last-released crate (I assume that's the "outermost" dependent crate) first. You can see an example of this in the |
Oh, we aren't updating dependents after bumping the post-release version. I overlooked that since I don't do post-release version bumps. The logic for updating dependents is here while that is missing from here |
I think I just got bitten by this exact bug. Dry run output (after cleaning up the failure):
And doing the actual run:
It looks like Any idea on if/when this will be resolved? |
@antifuchs I'd be glad to! Is there a recommended method for testing it out that won't replace my current install of |
@ckaran I'm pretty sure you can |
@antifuchs I just cloned the latest version of the repository (
The tags were correctly set in the repository, but only the top-level |
I seem to have run into the same problem with cargo-release v0.13.10. In the root of my repo, I've got "dropshot" and "dropshot_endpoint". "dropshot" depends on "dropshot_endpoint" -- always the same version. (The latter is a proc macro used in the former -- that's the only reason it's a separate crate.) It seems that when I try to do a release of v0.4.0, it updates "dropshot_endpoint" to v0.4.1-alpha.0, then tries to update "dropshot", but cargo bails:
This seems to go back to @antifuchs's original comment: there doesn't seem to be an order in which this will always work without saving the Cargo.toml updates to temp files first? FYI: in my case, I didn't have a clean |
@ckaran and @davepacheco I created a test repo to try to reproduce the problems you are having but I didn't get failures. Could you create a PR that gets it into the failure state to help clarify what the difference is? |
Thanks @epage! I went ahead and did that: epage/cargo-release-test#1 This was helpful. My problem was a result of trying to use |
@epage My apologies, but I'm not likely to get the time to do this for quite a while; I'm in the middle of several other projects and can't really pause. Is what @davepacheco sufficient, or do you really need me to create a minimized workspace that illustrates the issue? |
Finally got a chance to dig into some of these problems. One problem is we relied on cargo to resolve dependencies for us but for some reason in one case its not, so we are getting confused |
I believe #295 resolves the remaining work for closing this out. Feel free to open an issue if you run into another corner case. |
With your help in the previous issue, I could cut a 0.5.0 release of chars, thanks for that! Unfortunately, the process failed when it was bumping the dev versions for the two crates:
So, looks like what's happening in that stage is:
chars_data
to 0.5.1-devchars
onchars_data
to 0.5.1-devI think I saw a cargo bug to that effect before, but I can't find it at the moment. I wonder if you can even do that bump with any in-flight versions of files. I imagine that the process might have to be:
chars_data
to 0.5.1-dev but keep the previous Cargo.toml in place (save the update to a temp file, probably?)cargo metadata
still agrees, but also keep those old Cargo.toml files in placeThe text was updated successfully, but these errors were encountered: