Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 8 commits into from
Apr 30, 2024

Conversation

rnbguy
Copy link
Collaborator

@rnbguy rnbguy commented Apr 26, 2024

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:

  • Added changelog entry, using unclog.
  • Added tests.
  • Linked to GitHub issue.
  • Updated code comments and documentation (e.g., docs/).
  • Tagged one reviewer who will be the one responsible for shepherding this PR.

Reviewer checklist:

  • Reviewed Files changed in the GitHub PR explorer.
  • Manually tested (in case integration/unit/mock tests are absent).

Copy link

codecov bot commented Apr 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

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

Additional details and impacted files
@@            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     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rnbguy rnbguy force-pushed the rano/fix/acyclic-workspace-deps branch from d04159e to 35e12e0 Compare April 26, 2024 21:07
@rnbguy rnbguy changed the title ci(release): enforce acyclic release order ci(release): enforce acyclic dep order during release Apr 27, 2024
@seanchen1991
Copy link
Contributor

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.

Copy link
Contributor

@seanchen1991 seanchen1991 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some more documentation on how to resolve acyclic dev dependencies. It looks good to me now 👍

@seanchen1991 seanchen1991 added this pull request to the merge queue Apr 30, 2024
Merged via the queue into main with commit ed4f8cd Apr 30, 2024
19 checks passed
@seanchen1991 seanchen1991 deleted the rano/fix/acyclic-workspace-deps branch April 30, 2024 14:24
Farhad-Shabani pushed a commit that referenced this pull request Sep 9, 2024
* mv tendermint client cw tests to testkit

this is to remove ibc-testkit dev-dependency

* note for acyclic release order

* test proto::Any json ser-der

* nit

* fix unused imports

* cargo format

* update releases process

* Add more instructions on how to deal with cyclic dependencies

---------

Co-authored-by: Sean Chen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants