Support for ICS 08 Wasm clients wrapping an ICS 07 Tendermint client #6823
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration | |
on: | |
pull_request: | |
paths: | |
- .github/workflows/integration.yaml | |
- Cargo.toml | |
- Cargo.lock | |
- flake.nix | |
- flake.lock | |
- ci/** | |
- e2e/** | |
- crates/** | |
- tools/** | |
push: | |
branches: master | |
paths: | |
- .github/workflows/integration.yaml | |
- Cargo.toml | |
- Cargo.lock | |
- flake.nix | |
- flake.lock | |
- ci/** | |
- e2e/** | |
- crates/** | |
- tools/** | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_PROFILE_DEV_DEBUG: 1 | |
CARGO_PROFILE_RELEASE_DEBUG: 1 | |
RUST_BACKTRACE: short | |
CARGO_NET_RETRY: 10 | |
RUSTUP_MAX_RETRIES: 10 | |
UPLOAD_WASM_RUN_ID: 8771446396 | |
# Cancel previous runs of this workflow when a new commit is added to the PR, branch or tag | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
integration-test: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 180 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: gaia18 | |
command: gaiad | |
account_prefix: cosmos | |
native_token: stake | |
features: forward-packet,clean-workers,ica,ics29-fee | |
- package: ibc-go-v6-simapp | |
command: simd | |
account_prefix: cosmos | |
native_token: stake | |
features: ica,ics29-fee,authz | |
- package: ibc-go-v7-simapp | |
command: simd | |
account_prefix: cosmos | |
native_token: stake | |
features: ica,ics29-fee,authz | |
- package: ibc-go-v8-simapp | |
command: simd | |
account_prefix: cosmos | |
native_token: stake | |
features: ica,ics29-fee,new-register-interchain-account,channel-upgrade,authz | |
- package: ibc-go-v9-simapp | |
command: simd | |
account_prefix: cosmos | |
native_token: stake | |
features: ica,ics29-fee,new-register-interchain-account,channel-upgrade,authz,no-denom-trace | |
- package: wasmd | |
command: wasmd | |
account_prefix: wasm | |
native_token: stake | |
features: '' | |
- package: osmosis | |
command: osmosisd | |
account_prefix: osmo | |
native_token: stake | |
features: dynamic-gas-fee,forward-packet,ica | |
- package: juno | |
command: junod | |
account_prefix: juno | |
native_token: stake | |
features: juno,forward-packet,ica | |
- package: provenance | |
command: provenanced | |
account_prefix: pb | |
native_token: nhash | |
features: fee-grant,authz,async-icq | |
- package: migaloo | |
command: migalood | |
account_prefix: migaloo | |
native_token: stake | |
features: ics29-fee,ica,forward-packet | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -p ibc-integration-test --features=${{ matrix.chain.features }} --no-fail-fast --no-run | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- name: Run integration test | |
env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
NEXTEST_RETRIES: 2 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
NATIVE_TOKENS: ${{ matrix.chain.native_token }} | |
run: | | |
nix shell .#python .#${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features=${{ matrix.chain.features }} | |
ordered-channel-test: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -p ibc-integration-test --no-fail-fast --no-run | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
NEXTEST_RETRIES: 2 | |
run: | | |
nix shell .#python .#gaia6-ordered -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features ordered test_ordered_channel | |
interchain-security-ica: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#gaia18 .#stride | |
command: gaiad,strided | |
account_prefix: cosmos,stride | |
- package: .#gaia18 .#neutron | |
command: gaiad,neutrond | |
account_prefix: cosmos,neutron | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -p ibc-integration-test --features interchain-security,ica --no-fail-fast --no-run | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
NEXTEST_RETRIES: 2 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
run: | | |
nix shell ${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features interchain-security,ica interchain_security:: | |
interchain-security-icq: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#gaia18 .#stride-no-admin | |
command: gaiad,strided | |
account_prefix: cosmos,stride | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -p ibc-integration-test --features interchain-security --no-fail-fast --no-run | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
run: | | |
nix shell ${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features interchain-security,ics31 interchain_security:: | |
wasm-client: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#ibc-go-v9-simapp | |
command: simd | |
account_prefix: cosmos | |
native_token: stake | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v14 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- name: Build tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: nextest | |
args: run -p ibc-integration-test --features wasm --no-run | |
- name: Run tests | |
env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
NATIVE_TOKENS: ${{ matrix.chain.native_token }} | |
IBC_CLIENT_WASM_FILE: ${{ github.workspace }}/result/ibc_client_tendermint_cw.wasm | |
run: | | |
nix build .#ibc-client-tendermint-cw | |
nix shell .#python ${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features wasm wasm_client | |
celestia-to-gaia: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#celestia .#gaia18 | |
command: celestia-appd,gaiad | |
account_prefix: celestia,cosmos | |
native_token: utia,stake | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
with: | |
extra-conf: | | |
substituters = https://cache.nixos.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
- name: Install Cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: cosmos-nix | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -p ibc-integration-test --features celestia --no-fail-fast --no-run | |
- name: Install cargo-nextest | |
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- env: | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
NO_COLOR_LOG: 1 | |
COMPAT_MODES: 0.34,0.37 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
NATIVE_TOKENS: ${{ matrix.chain.native_token }} | |
run: | | |
nix shell .#python ${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
--features celestia |