-
Notifications
You must be signed in to change notification settings - Fork 8
129 lines (125 loc) · 3.97 KB
/
multi-chains.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Integration - Multi-chains
on:
pull_request:
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
paths:
- .github/workflows/multi-chains.yaml
- Cargo.toml
- Cargo.lock
- flake.nix
- flake.lock
- ci/**
- e2e/**
- crates/**
- tools/**
push:
branches: master
paths:
- .github/workflows/multi-chains.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:
multi-chains-test:
runs-on: ubuntu-20.04
if: |
github.ref == 'refs/heads/master' || (
(github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize') &&
contains(github.event.pull_request.labels.*.name, 'CI: multi-chains')
) || (
github.event.action == 'labeled' && github.event.label.name == 'CI: multi-chains'
)
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
first-package:
- package: gaia9
chain_command_path: gaiad
account_prefix: cosmos
- package: ibc-go-v7-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
- package: stride
chain_command_path: strided
account_prefix: stride
second-package:
- package: gaia9
chain_command_path: gaiad
account_prefix: cosmos
- package: ibc-go-v7-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
- package: stride
chain_command_path: strided
account_prefix: stride
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: 2
timeout_minutes: 60
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 }}) \