duesee / duesee/imap-codec

build: Can we improve our dev workflow?

Open
#415 0 comments 0 reactions 0 assignees View on GitHub
community help wanted question
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

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.