diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 861ee3a2e..303e35930 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -40,7 +40,7 @@ concurrency: jobs: integration-test: runs-on: ubuntu-20.04 - timeout-minutes: 90 + timeout-minutes: 180 strategy: fail-fast: false matrix: @@ -75,10 +75,13 @@ jobs: - package: stride command: strided account_prefix: stride + - package: juno + command: junod + account_prefix: juno steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v18 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -91,105 +94,127 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test args: -p ibc-integration-test --no-fail-fast --no-run - - uses: nick-fields/retry@v2 + - 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 }} - with: - max_attempts: 2 - timeout_minutes: 60 - command: | - nix shell .#python .#${{ matrix.chain.package }} -c cargo \ - test -p ibc-integration-test --no-fail-fast -- \ - --nocapture --test-threads=2 + run: | + nix shell .#python .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 - multi-chains-test: + ordered-channel-test: runs-on: ubuntu-20.04 - if: github.ref == 'refs/heads/master' timeout-minutes: 90 + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install + install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' + extra_nix_config: | + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v12 + with: + name: cosmos + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - uses: Swatinem/rust-cache@v2 + - 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 + + ica-filter-test: + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: - first-package: - - package: gaia6 - chain_command_path: gaiad - account_prefix: cosmos - - package: gaia7 - chain_command_path: gaiad - account_prefix: cosmos - - package: gaia8 - chain_command_path: gaiad - account_prefix: cosmos - - package: ibc-go-v2-simapp - chain_command_path: simd - account_prefix: cosmos - - package: ibc-go-v3-simapp - chain_command_path: simd - account_prefix: cosmos - - package: ibc-go-v4-simapp - chain_command_path: simd - account_prefix: cosmos - - package: ibc-go-v5-simapp - chain_command_path: simd - account_prefix: cosmos + chain: - package: ibc-go-v6-simapp - chain_command_path: simd - account_prefix: cosmos - - package: wasmd - chain_command_path: wasmd - account_prefix: wasm - - package: evmos - chain_command_path: evmosd - account_prefix: evmos - - package: osmosis - chain_command_path: osmosisd - account_prefix: osmo - second-package: - - package: gaia6 - chain_command_path: gaiad - account_prefix: cosmos - - package: gaia7 - chain_command_path: gaiad - account_prefix: cosmos - - package: gaia8 - chain_command_path: gaiad - account_prefix: cosmos - - package: ibc-go-v2-simapp - chain_command_path: simd - account_prefix: cosmos - - package: ibc-go-v3-simapp - chain_command_path: simd + command: simd account_prefix: cosmos - - package: ibc-go-v4-simapp - chain_command_path: simd + - package: ibc-go-v7-simapp + command: simd account_prefix: cosmos + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install + install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' + extra_nix_config: | + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v12 + with: + name: cosmos + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - uses: Swatinem/rust-cache@v2 + - 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 + 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 ica test_ica_filter + + ics29-fee-test: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + chain: - package: ibc-go-v5-simapp - chain_command_path: simd + command: simd account_prefix: cosmos - package: ibc-go-v6-simapp - chain_command_path: simd + command: simd account_prefix: cosmos - - package: wasmd - chain_command_path: wasmd - account_prefix: wasm - - package: evmos - chain_command_path: evmosd - account_prefix: evmos - - package: osmosis - chain_command_path: osmosisd - account_prefix: osmo - + - package: ibc-go-v7-simapp + command: simd + account_prefix: cosmos + - package: migaloo + command: migalood + account_prefix: migaloo steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -202,32 +227,43 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --no-fail-fast --no-run - - uses: nick-fields/retry@v2 - env: + args: -p ibc-integration-test --features ics29-fee --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 - ACCOUNT_PREFIXES: ${{ matrix.first-package.account_prefix }},${{ matrix.second-package.account_prefix }} - with: - max_attempts: 3 - timeout_minutes: 45 - command: | - CHAIN_COMMAND_PATHS=$(nix shell .#${{ matrix.first-package.package }} -c which ${{ matrix.first-package.chain_command_path }}),$(nix shell .#${{ matrix.second-package.package }} -c which ${{ matrix.second-package.chain_command_path }}) \ - nix shell .#python -c cargo \ - test -p ibc-integration-test --no-fail-fast -- \ - --nocapture --test-threads=2 + 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 ics29-fee fee:: - ordered-channel-test: + forward-packet: runs-on: ubuntu-20.04 - timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + chain: + - package: gaia8 + command: gaiad + account_prefix: cosmos + - package: gaia9 + command: gaiad + account_prefix: cosmos + - package: juno + command: junod + account_prefix: juno steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -240,25 +276,37 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --no-fail-fast --no-run + args: -p ibc-integration-test --features forward-packet --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 .#python .#gaia6-ordered -c cargo \ - test -p ibc-integration-test --features ordered --no-fail-fast -- \ - --nocapture --test-threads=1 test_ordered_channel + nix shell .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features forward-packet forward:: - ica-filter-test: + ics31: runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + chain: + - package: .#gaia8 .#stride-no-admin + command: gaiad,strided + account_prefix: cosmos,stride steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -271,39 +319,39 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --no-fail-fast --no-run + args: -p ibc-integration-test --features ics31 --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: icad + NEXTEST_RETRIES: 2 + CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} + ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} run: | - nix shell .#python .#ica -c cargo \ - test -p ibc-integration-test --features ica --no-fail-fast -- \ - --nocapture --test-threads=1 test_ica_filter - - ics29-fee-test: + nix shell ${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features ics31 ics31:: + fee-grant: runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: chain: - - package: ibc-go-v5-simapp - command: simd - account_prefix: cosmos - - package: ibc-go-v6-simapp - command: simd - account_prefix: cosmos - - package: ibc-go-v7-simapp - command: simd - account_prefix: cosmos + - package: stride + command: strided + account_prefix: stride + - package: evmos + command: evmosd + account_prefix: evmos steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -316,11 +364,13 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --features ics29-fee --no-fail-fast --no-run + args: -p ibc-integration-test --features fee-grant --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 @@ -328,25 +378,22 @@ jobs: CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} run: | - nix shell .#${{ matrix.chain.package }} -c cargo \ - test -p ibc-integration-test --features ics29-fee --no-fail-fast -- \ - --nocapture --test-threads=1 fee:: + nix shell .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features fee-grant fee_grant:: - forward-packet: + clean-workers: runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: chain: - - package: gaia8 - command: gaiad - account_prefix: cosmos - package: gaia9 command: gaiad account_prefix: cosmos steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -359,34 +406,37 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --features forward-packet --no-fail-fast --no-run + args: -p ibc-integration-test --features ics31 --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 \ - test -p ibc-integration-test --features forward-packet --no-fail-fast -- \ - --nocapture --test-threads=1 forward:: + nix shell .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features clean-workers clean_workers:: - ics31: + interchain-security-no-ica: runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: chain: - - package: .#gaia8 .#stride-no-admin - command: gaiad,strided - account_prefix: cosmos,stride + - package: neutron + command: neutrond + account_prefix: neutron steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -399,21 +449,109 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test - args: -p ibc-integration-test --features ics31 --no-fail-fast --no-run + 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 }} + NEXTEST_RETRIES: 2 + CHAIN_COMMAND_PATHS: gaiad,${{ matrix.chain.command }} + ACCOUNT_PREFIXES: cosmos,${{ matrix.chain.account_prefix }} + run: | + nix shell .#gaia9 .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features interchain-security interchain_security:: + + interchain-security-ica: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + chain: + - package: stride-consumer + command: strided + account_prefix: stride + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install + install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' + extra_nix_config: | + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v12 + with: + name: cosmos + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - uses: Swatinem/rust-cache@v2 + - 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 + NEXTEST_RETRIES: 2 + CHAIN_COMMAND_PATHS: gaiad,${{ matrix.chain.command }} + ACCOUNT_PREFIXES: cosmos,${{ matrix.chain.account_prefix }} + run: | + nix shell .#gaia9 .#${{ 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: stride-consumer-no-admin + command: strided + account_prefix: stride + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install + install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' + extra_nix_config: | + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v12 + with: + name: cosmos + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - uses: Swatinem/rust-cache@v2 + - 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: gaiad,${{ matrix.chain.command }} + ACCOUNT_PREFIXES: cosmos,${{ matrix.chain.account_prefix }} run: | - nix shell ${{ matrix.chain.package }} -c cargo \ - test -p ibc-integration-test --features ics31 --no-fail-fast -- \ - --nocapture --test-threads=1 ics31:: + nix shell .#gaia9 .#${{ 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:: model-based-test: runs-on: ubuntu-20.04 @@ -423,8 +561,8 @@ jobs: gaiad: - gaia6 steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 with: install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' @@ -437,7 +575,7 @@ jobs: with: toolchain: stable override: true - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: command: test @@ -453,4 +591,4 @@ jobs: # .#apalache \ # -c cargo \ # test -p ibc-integration-test --features mbt --no-fail-fast -- \ - # --nocapture --test-threads=1 mbt + # --failure-output final --test-threads=2 --test-threads=1 mbt