Skip to content
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

cargo-smart-release doesn't update [workspace.dependencies] version #8

Open
jsoverson opened this issue Sep 14, 2023 · 1 comment · May be fixed by #17
Open

cargo-smart-release doesn't update [workspace.dependencies] version #8

jsoverson opened this issue Sep 14, 2023 · 1 comment · May be fixed by #17
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@jsoverson
Copy link

First off, this crate is awesome. It is so close to being a does-what-you-want publish tool for cargo crates.

For this project though, we set our version numbers in the root workspace and cargo-smart-release doesn't seem to update things there. When the publish step comes, cargo fails because versions don't match.

If organizing workspaces like this is bad practice, I can change it. That's one major problem with large Rust projects and workspaces. There is no "do it this way" guide that actually works from start to publish.

I tried to reorganize the project to align with git-oxide. I moved the binary to the root and combined the package & workspace Cargo.toml, but it wasn't enough.

If this seems like a bug in cargo-smart-release vs how we structured our project, I'll gladly submit a PR if you can guide me to the part of the codebase I should start in.

Thanks again!

@Byron
Copy link
Owner

Byron commented Sep 15, 2023

First off, this crate is awesome. It is so close to being a does-what-you-want publish tool for cargo crates.

Thank you! Even though I'd use cargo smart-release with caution as it's reason to exist is gitoxide, and it's relies heavily on the project structure there as you already concluded.

I wasn't aware of workspace dependencies at all at the time of creating cargo smart-release, which is why it isn't supported. However, it could certainly be supported if you dare implementing it.

And I am saying that because I barely dare to make changes here as the core logic for publishing is definitely under-tested. There is a journey-test but it tests only the simple case. Nonetheless, you can probably add a journey test with a simple configuration mirroring yours, and make it work from there.

Unfortunately, that's already all the guidance I can muster as I barely remember the code here 😅.

I'd also like to make you aware of #9 , a critical issue that you will get when your crates go 1.0. It's definitely easier to implement than this, and maybe that's a good first issue to work on to get acquainted with the codebase. Thanks for your consideration.

@Byron Byron added enhancement New feature or request help wanted Extra attention is needed labels Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants