Skip to content

Commit 60ff9bd

Browse files
Migrate CosmWasm workspace (informalsystems#1315)
* Remove cosmwasm directory * Update makefile to not reference cosmwasm directory * Remove redundant check docs step from releases.md * Remove cosmwasm dir from coverage.yaml * Remove cosmwasm dir from rust.yaml * Remove cosmwasm dir from upload-cw-clients.yaml * Remove mention of cosmwasm ics07 client from readme * Remove cosmwasm dir from Make lint rule * Remove link to cosmwasm dir from readme * Remove upload-cw-clients yaml file * Update readme links and add changelog * fix: add link for cosmwasm-ibc in README * fix: update dependabot.yml --------- Signed-off-by: Sean Chen <[email protected]> Co-authored-by: Farhad Shabani <[email protected]>
1 parent b7dbc41 commit 60ff9bd

35 files changed

+34
-5230
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- [cosmwasm] Migrated the `cosmwasm` workspace into its own separate repository
2+
located at [https://github.com/informalsystems/cosmwasm-ibc].
3+
([\#1311](https://github.com/cosmos/ibc-rs/issues/1311))

.github/dependabot.yml

-4
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@ updates:
1010
ignore:
1111
- dependency-name: "tendermint*"
1212
- dependency-name: "ibc*"
13-
- dependency-name: "cosmwasm*"
14-
- dependency-name: "cw*"
1513
- package-ecosystem: "cargo"
1614
directory: "ci/no-std-check"
1715
schedule:
1816
interval: "weekly"
1917
ignore:
2018
- dependency-name: "tendermint*"
2119
- dependency-name: "ibc*"
22-
- dependency-name: "cosmwasm*"
23-
- dependency-name: "cw*"
2420
- package-ecosystem: "cargo"
2521
directory: "ci/cw-check"
2622
schedule:

.github/workflows/coverage.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ on:
55
- .codecov.yaml
66
- .github/workflows/rust.yaml
77
- .github/workflows/coverage.yaml
8-
- '*.toml'
8+
- "*.toml"
99
- ci/**
10-
- cosmwasm/**
1110
- ibc/**
1211
- ibc-core/**
1312
- ibc-apps/**

.github/workflows/rust.yaml

+5-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
- Makefile
77
- '*.toml'
88
- ci/**
9-
- cosmwasm/**
109
- ibc/**
1110
- ibc-core/**
1211
- ibc-apps/**
@@ -49,25 +48,25 @@ jobs:
4948
- name: Install Rust nightly toolchain with rustfmt
5049
uses: actions-rust-lang/setup-rust-toolchain@v1
5150
with:
52-
toolchain: nightly
53-
components: rustfmt
51+
toolchain: nightly
52+
components: rustfmt
5453
- name: Install Rust stable toolchain with clippy
5554
uses: actions-rust-lang/setup-rust-toolchain@v1
5655
with:
57-
components: clippy
56+
components: clippy
5857
- uses: actions-rs/clippy-check@v1
5958
with:
6059
token: ${{ secrets.GITHUB_TOKEN }}
6160
- name: Install Taplo
6261
uses: baptiste0928/cargo-install@v3
6362
with:
64-
crate: taplo-cli
63+
crate: taplo-cli
6564
- name: Run Lint Checks (fmt, clippy, taplo)
6665
run: make lint
6766
- name: Spell Check with Typos
6867
uses: crate-ci/typos@master
6968
with:
70-
config: ./.github/typos.toml
69+
config: ./.github/typos.toml
7170

7271
check-docs:
7372
name: Check Documentations

.github/workflows/upload-cw-clients.yaml

-85
This file was deleted.

Makefile

+2-9
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ lint: ## Lint the code using rustfmt, clippy and whitespace lints.
1414
$(MAKE) fmt
1515
$(MAKE) clippy
1616
$(MAKE) lint-toml
17-
$(MAKE) -C ./cosmwasm lint
1817
bash ./ci/code-quality/whitespace-lints.sh
1918

2019
fmt: ## Format the code using nightly rustfmt.
@@ -36,7 +35,6 @@ check-features: ## Check that project compiles with all combinations of features
3635
check-docs: ## Build documentation with all features and without default features.
3736
cargo doc --all --all-features --release
3837
cargo doc --all --no-default-features --release
39-
$(MAKE) -C ./cosmwasm check-docs $@
4038

4139
check-no-std: ## Check that libraries compile with `no_std` feature.
4240
$(MAKE) -C ./ci/no-std-check $@
@@ -48,16 +46,11 @@ check-cw: ## Check that the CosmWasm smart contract compiles.
4846
test: ## Run tests with all features and without default features.
4947
cargo test --all-targets --all-features --no-fail-fast --release
5048
cargo test --all-targets --no-default-features --no-fail-fast --release
51-
$(MAKE) -C ./cosmwasm test $@
5249

5350
check-release: ## Check that the release build compiles.
5451
cargo release --workspace --no-push --no-tag \
55-
--exclude ibc-derive \
52+
--exclude ibc-derive
5653

5754
release: ## Perform an actual release and publishes to crates.io.
5855
cargo release --workspace --no-push --no-tag --allow-branch HEAD --execute \
59-
--exclude ibc-derive \
60-
$(MAKE) -C ./cosmwasm release $@
61-
62-
build-tendermint-cw: ## Build the WASM file for the ICS-07 Tendermint light client.
63-
$(MAKE) -C ./cosmwasm build-tendermint-cw $@
56+
--exclude ibc-derive

README.md

+16-15
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ sub-crates that can be used independently or together.
3838
| [ibc-testkit](ibc-testkit) | Provides testing toolkit to aid `ibc-rs` and host chains in writing integration tests. |
3939
| [ibc-query](ibc-query) | Contains utility traits and implementations for querying states of an integrated IBC module. |
4040
| [ibc-derive](ibc-derive) | Derive macros for `ClientState` and `ConsensusState` traits, reducing boilerplate. |
41-
| [cosmwasm](cosmwasm) | Contains libraries that implement `ibc-rs` modules as CosmWasm contracts. |
4241

4342
## Contributing
4443

@@ -74,20 +73,21 @@ projects. The `ibc-rs` implementation, in particular, is used for IBC
7473
integration, testing, or development for some of the most technically compelling
7574
use cases.
7675

77-
| # | Integration use-case | Team | Used-Modules | Links | Phase |
78-
| -: | ------------------------------- | :-----------: | :----------: | :---------------------------------------------------------: | :----------------------: |
79-
| 1 | Solana IBC implementation | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
80-
| 2 | Ethereum IBC relayer | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
81-
| 3 | Polkadot SDK IBC implementation | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
82-
| 4 | Nomic | Nomic | :100: | [Nomic network][nomic] | :white_check_mark: |
83-
| 5 | Namada | Anoma | :100: | [Namada][namada] | :hourglass_flowing_sand: |
84-
| 6 | Sovereign | Informal | :100: | [`sovereign-ibc`][sov-ibc] | :hourglass_flowing_sand: |
85-
| 7 | Hermes IBC relayer | Informal | :100: | [`basecoin-rs`][basecoin-rs] | :hammer_and_pick: |
86-
| 8 | Substrate pallet | Octopus | :100: | [Substrate IBC Pallet][substrate-ibc] | :hammer_and_pick: |
87-
| 9 | Near Protocol | Octopus | :100: | [`near-ibc`][near-ibc] | :hourglass_flowing_sand: |
88-
| 10 | Tendermint Light Client | Electron Labs | `ics07` | [`Electron-Labs/tendermint-rs`][electronlabs-tendermint-rs] | :hourglass_flowing_sand: |
89-
| 11 | Starknet | Informal | :eyes: | :eyes: | :eyes: |
90-
| 12 | SP1 Tendermint Light Client | Interchain | `ics07` | [`cosmos/sp1-ics07-tendermint`][sp1-tendermint] | :hourglass_flowing_sand: |
76+
| # | Integration use-case | Team | Used-Modules | Links | Phase |
77+
| -: | ------------------------------- | :-----------: | :----------: | :---------------------------------------------------------: | :----------------------: |
78+
| 1 | Solana IBC implementation | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
79+
| 2 | Ethereum IBC relayer | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
80+
| 3 | Polkadot SDK IBC implementation | Composable | :100: | [Picasso Network][pica-network] | :white_check_mark: |
81+
| 4 | Nomic | Nomic | :100: | [Nomic network][nomic] | :white_check_mark: |
82+
| 5 | CosmWasm Tendermint Light Client | Informal | `ics07` | [cosmwasm-ibc][cosmwasm-ibc] | :white_check_mark: |
83+
| 6 | Namada | Anoma | :100: | [Namada][namada] | :hourglass_flowing_sand: |
84+
| 7 | Sovereign | Informal | :100: | [`sovereign-ibc`][sov-ibc] | :hourglass_flowing_sand: |
85+
| 8 | Hermes IBC relayer | Informal | :100: | [`basecoin-rs`][basecoin-rs] | :hammer_and_pick: |
86+
| 9 | Substrate pallet | Octopus | :100: | [Substrate IBC Pallet][substrate-ibc] | :hammer_and_pick: |
87+
| 10 | Near Protocol | Octopus | :100: | [`near-ibc`][near-ibc] | :hourglass_flowing_sand: |
88+
| 11 | Tendermint Light Client | Electron Labs | `ics07` | [`Electron-Labs/tendermint-rs`][electronlabs-tendermint-rs] | :hourglass_flowing_sand: |
89+
| 12 | Starknet | Informal | :eyes: | :eyes: | :eyes: |
90+
| 13 | SP1 Tendermint Light Client | Interchain | `ics07` | [`cosmos/sp1-ics07-tendermint`][sp1-tendermint] | :hourglass_flowing_sand: |
9191

9292
Legend:
9393

@@ -139,6 +139,7 @@ specific language governing permissions and limitations under the License.
139139
[ibc]: https://github.com/cosmos/ibc
140140
[ibc-go]: https://github.com/cosmos/ibc-go
141141
[ibc-proto-rs]: https://github.com/cosmos/ibc-proto-rs
142+
[cosmwasm-ibc]: https://github.com/informalsystems/cosmwasm-ibc
142143
[ibc-homepage]: https://cosmos.network/ibc
143144
[ibc-protocol]: https://ibcprotocol.dev
144145
[cosmos-link]: https://cosmos.network

RELEASES.md

+5-8
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,16 @@ The release process for the main ibc-rs workspace is as follows:
6969
than 5 new crates or 30 existing crates by default. If we need to publish
7070
more than these limits, we need to update `release.toml` at workspace
7171
root.
72-
5. Run `cargo doc -p ibc --all-features --open` locally to double-check that all
73-
the documentation compiles and seems up-to-date and coherent. Fix any
74-
potential issues here and push them to the release PR.
75-
6. Mark the PR as **Ready for Review** and incorporate feedback on the release.
72+
5. Mark the PR as **Ready for Review** and incorporate feedback on the release.
7673
Once approved, merge the PR.
77-
7. Checkout the `main` and pull it with
74+
6. Checkout the `main` and pull it with
7875
`git checkout main && git pull origin main`.
79-
8. Create a signed tag `git tag -s -a vX.Y.Z`. In the tag message, write the
76+
7. Create a signed tag `git tag -s -a vX.Y.Z`. In the tag message, write the
8077
version and the link to the corresponding section of the changelog. Then push
8178
the tag to GitHub with `git push origin vX.Y.Z`.
8279
- The [release workflow][release.yaml] will run the `cargo release --execute`
8380
command in a CI worker.
84-
9. If some crates have not been released, check the cause of the failure and
81+
8. If some crates have not been released, check the cause of the failure and
8582
act accordingly:
8683
1. In case of intermittent problems with the registry, try `cargo release`
8784
locally to publish any missing crates from this release. This step
@@ -91,7 +88,7 @@ The release process for the main ibc-rs workspace is as follows:
9188
3. In case problems arise from the source files, fix them, bump a new patch
9289
version (e.g. `v0.48.1`) and repeat the process with its corresponding
9390
new tag.
94-
10. Once the tag is pushed, wait for the CI bot to create a GitHub release, then
91+
9. Once the tag is pushed, wait for the CI bot to create a GitHub release, then
9592
update the release description and append:
9693
`[📖CHANGELOG](https://github.com/cosmos/ibc-rs/blob/main/CHANGELOG.md#vXYZ)`
9794

0 commit comments

Comments
 (0)