For CI #200
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 | |
# 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: gaia20 | |
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,ics29-fee | |
- 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 | |
# Disable Injective because wasmvm hasn't been correctly | |
# wired for Injective in Cosmos Nix | |
#- package: injective | |
# command: injectived | |
# account_prefix: inj | |
# native_token: stake | |
# features: forward-packet,fee-grant | |
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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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: .#gaia20 .#stride | |
command: gaiad,strided | |
account_prefix: cosmos,stride | |
- package: .#gaia20 .#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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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: | |
if: false # Disable CCQ test | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#gaia20 .#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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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:: | |
celestia-to-gaia: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#celestia .#gaia20 | |
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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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 | |
# Run the transfer test using IPv6 for gRPC endpoint | |
ipv6-grpc-endpoint: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain: | |
- package: .#gaia20 | |
command: gaiad | |
account_prefix: cosmos | |
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 | |
- name: Install Protoc | |
uses: heliaxdev/setup-protoc@v2 | |
with: | |
version: "25.0" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- 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 | |
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} | |
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} | |
IPV6_GRPC: true | |
run: | | |
nix shell ${{ matrix.chain.package }} -c \ | |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ | |
tests::transfer::test_ibc_transfer |