googleapis / googleapis/release-please
cargo-workspace plugin can't handle `version.workspace`
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 588
- Avg merge
- 12h 16m
- Merged PRs (30d)
- 7
Description
#### Environment details
- OS: Ubuntu 22.04.3 (`release-please` GitHub Action)
- `release-please` version: Using google-github-actions/release-please-action@v3
#### Steps to reproduce
Use `release-please` on a Rust project with
- A `Cargo.toml` at the root, and
- A sub-crate with a `Cargo.toml` whose version points to the version specified in `workspace.package`
```toml
# root Cargo.toml
members = [
"subcrate",
]
[workspace.package]
version = ""
```
```toml
#subcrate/Cargo.toml
[package]
name = "subcrate"
version.workspace = true
```
And `release-please` configured accordingly, e.g.
- .release-please-manifest.json:
```json
{
".": "",
"subcrate": ""
}
```
- release-please-config.json:
```json
{
"plugins": ["cargo-workspace"],
"packages": {
".": {
"release-type": "rust"
},
"subcrate": {
"release-type": "rust"
}
}
}
```
See for example [this project (permalink)](https://github.com/mrcjkb/tuxedo-rs/tree/d09fd234a614004216987a5d36cc7e0ed00ddbaf),
or this [example from the cargo book](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table).
### Expected behaviour
`release-please` updates the `workspace.package.version` in the root `Cargo.toml`
### Actual behaviour
`release-please` fails with
```
cargo-workspace (mrcjkb/tuxedo-rs): package manifest at subcrate/Cargo.toml has an invalid [package.version]
```
Contributor guide
Assessment
This issue has not been assessed yet.