diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 861ee3a2e..fbfc9e888 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: @@ -77,8 +77,8 @@ jobs: account_prefix: stride 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,143 +91,31 @@ 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 - - multi-chains-test: - runs-on: ubuntu-20.04 - if: github.ref == 'refs/heads/master' - timeout-minutes: 90 - 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 - - 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 - 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 - - 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 - - steps: - - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v15 - 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@v1 - - uses: actions-rs/cargo@v1 - with: - command: test - args: -p ibc-integration-test --no-fail-fast --no-run - - uses: nick-fields/retry@v2 - 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 + run: | + nix shell .#python .#${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 ordered-channel-test: runs-on: ubuntu-20.04 timeout-minutes: 90 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 +128,28 @@ 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 + - 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 \ - test -p ibc-integration-test --features ordered --no-fail-fast -- \ - --nocapture --test-threads=1 test_ordered_channel + 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 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,19 +162,22 @@ 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 + - 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: icad run: | - nix shell .#python .#ica -c cargo \ - test -p ibc-integration-test --features ica --no-fail-fast -- \ + nix shell .#python .#ica -c \ + cargo nextest run -p ibc-integration-test --features ica --no-fail-fast -- \ --nocapture --test-threads=1 test_ica_filter ics29-fee-test: @@ -301,9 +195,12 @@ jobs: - 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' @@ -316,21 +213,24 @@ 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 + - 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 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 ics29-fee fee:: forward-packet: runs-on: ubuntu-20.04 @@ -345,8 +245,8 @@ jobs: 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,21 +259,24 @@ 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 + - 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 forward-packet forward:: ics31: runs-on: ubuntu-20.04 @@ -385,8 +288,51 @@ jobs: 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' + 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 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 nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=2 \ + --features ics31 ics31:: + + clean-workers: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + chain: + - package: gaia9 + command: gaiad + 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' @@ -399,21 +345,24 @@ 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 + - 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 ics31 --no-fail-fast -- \ - --nocapture --test-threads=1 ics31:: + 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:: model-based-test: runs-on: ubuntu-20.04 @@ -423,8 +372,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 +386,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 +402,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