Skip to content

ci: add ibc-packet test workflow between CKB testnet <-> Axon alphanet #686

ci: add ibc-packet test workflow between CKB testnet <-> Axon alphanet

ci: add ibc-packet test workflow between CKB testnet <-> Axon alphanet #686

Workflow file for this run

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: gaia8
command: gaiad
account_prefix: cosmos
- package: gaia9
command: gaiad
account_prefix: cosmos
- package: ibc-go-v4-simapp
command: simd
account_prefix: cosmos
- 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: wasmd
command: wasmd
account_prefix: wasm
- package: evmos
command: evmosd
account_prefix: evmos
- package: osmosis
command: osmosisd
account_prefix: osmo
- package: stride
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 --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 }}
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@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
# TODO: uncomment after sync with hermes upstream
# related PR: https://github.com/informalsystems/hermes/pull/3415
#
# ica-filter-test:
# runs-on: ubuntu-20.04
# strategy:
# fail-fast: false
# matrix:
# chain:
# - package: ibc-go-v6-simapp
# command: simd
# account_prefix: cosmos
# - 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 --features ica --no-fail-fast \
# --test-threads=2 test_ica_filter
ics29-fee-test:
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
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 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 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
strategy:
fail-fast: false
matrix:
chain:
- package: gaia8
command: gaiad
account_prefix: cosmos
- 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'
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 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 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
strategy:
fail-fast: false
matrix:
chain:
- package: .#gaia8 .#stride-no-admin
command: gaiad,strided
account_prefix: cosmos,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 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::
model-based-test:
runs-on: ubuntu-20.04
timeout-minutes: 90
strategy:
matrix:
gaiad:
- gaia6
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 mbt --no-fail-fast --no-run
# Disable running MBT tests until flakiness is addressed
# - env:
# RUST_LOG: debug
# RUST_BACKTRACE: 1
# NO_COLOR_LOG: 1
# run: |
# nix shell \
# .#${{ matrix.gaiad }} \
# .#apalache \
# -c cargo \
# test -p ibc-integration-test --features mbt --no-fail-fast -- \
# --failure-output final --test-threads=2 --test-threads=1 mbt