build: Can we improve our dev workflow?
- Dominant language
- Rust
- Stars
- 52
- Forks
- 25
- Avg merge
- 21h 53m
- Merged PRs (30d)
- 2
Description
We have a workspace with `imap-codec` depending on `imap-types` and we (currently) develop both in lockstep. Thus, we use a `[patch]` directive to tell Cargo to use the local `imap-types`. All other crates ...
```sh
$ find **/Cargo.toml
assets/demos/tokio-client/Cargo.toml
assets/demos/tokio-server/Cargo.toml
assets/demos/tokio-support/Cargo.toml
Cargo.toml
imap-codec/Cargo.toml
imap-codec/fuzz/Cargo.toml
imap-types/Cargo.toml
imap-types/fuzz/Cargo.toml
```
... use `path = "imap-{types,codec}"` directly.
Thoughts/Observations:
* I want `cargo-semver-checks` to check for breaking changes. Updating `imap-types` (whose types we expose in the public API of `imap-codec`) is a breaking change, too. Thus, `cargo-semver-checks` should check. But it also needs to ignore the local `[patch]` because otherwise we would check local vs local. So... it tries to fetch `imap-types 2.0.0` from crates.io and fails. (Possibly a mistake in thinking here ...)
* When we do a release, we need to make sure to first publish `imap-types` and then `imap-codec` (depending on `imap-types` on crates.io.) Question: Are there any checks we might miss doing so?
* ...
Contributor guide
Assessment
This issue has not been assessed yet.