googleapis / googleapis/release-please

cargo-workspace plugin can't handle `version.workspace`

Open
#2,111 2 comments 4 reactions 1 assignee Claimed by @chingor13 View on GitHub
help wanted priority: p3 type: bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.