cosmos / ibc-rs

Rust implementation of the Inter-Blockchain Communication (IBC) protocol.
Apache License 2.0
197 stars 79 forks source link

ci(release): enforce acyclic dep order during release #1200

Closed rnbguy closed 5 months ago

rnbguy commented 5 months ago

Closes: #XXX

Description

The latest release failed on CI because it tried to release ibc-client-tendermint-cw before ibc-testkit. But ibc-client-tendermint-cw has a dev-dependency to ibc-testkit.

It looks like it is an issue at cargo-release, as it ignores dev-dependency edges.

[!IMPORTANT] The workspace crates must not depend on ibc-testkit - as it depends on ibc.

Also, there is a question: should we release cosmwasm contracts on crates-io, e.g. ibc-client-tendermint-cw, on crates-io? If not, we should exclude them in cargo-release command. Maybe we can compile and add the wasm blobs to release artifacts.


PR author checklist:

Reviewer checklist:

codecov[bot] commented 5 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 64.39%. Comparing base (67d0735) to head (7070a59).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1200 +/- ## ========================================== + Coverage 64.34% 64.39% +0.04% ========================================== Files 229 229 Lines 22005 22017 +12 ========================================== + Hits 14160 14178 +18 + Misses 7845 7839 -6 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

seanchen1991 commented 5 months ago

Maybe we can compile and add the wasm blobs to release artifacts.

I think this makes sense. I think it's fine to not release ibc-client-tendermint-cw on crates.io so long as there isn't any demand for it, especially if it will make things simpler on the release front. We can re-visit whether it should be released on crates.io in a future version.