-
Notifications
You must be signed in to change notification settings - Fork 17
116 lines (102 loc) · 3.4 KB
/
integration.yml
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
name: Integration tests
on:
pull_request:
push:
branches:
- main
jobs:
cleanup-runs:
runs-on: ubuntu-latest
steps:
- uses: rokroskar/workflow-run-cleanup-action@master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master'"
ibc-integration:
runs-on: ubuntu-latest
env:
COMETBFT_VERSION: 0.37.1
GAIA_VERSION: 6.0.0
HERMES_VERSION: 1.4.0
GRPCURL_VERSION: 1.8.7
RUST_VERSION: 1.65
IBC_COMMITISH: master
steps:
- uses: actions/checkout@v3
- name: Download CometBFT
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: cometbft/cometbft
version: "tags/v${{ env.COMETBFT_VERSION }}"
file: "cometbft_${{ env.COMETBFT_VERSION }}_linux_amd64.tar.gz"
- name: Download Gaia
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: cosmos/gaia
version: "tags/v${{ env.GAIA_VERSION }}"
file: "gaiad-v${{ env.GAIA_VERSION }}-linux-amd64"
- name: Download Hermes
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: informalsystems/hermes
version: "tags/v${{ env.HERMES_VERSION }}"
file: "hermes-v${{ env.HERMES_VERSION }}-x86_64-unknown-linux-gnu.tar.gz"
- name: Download grpcurl
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: fullstorydev/grpcurl
version: "tags/v${{ env.GRPCURL_VERSION }}"
file: "grpcurl_${{ env.GRPCURL_VERSION}}_linux_x86_64.tar.gz"
- name: Setup scripts and directories
working-directory: ci/
run: |
echo "${HOME}"
mkdir -p ~/local/bin
cp entrypoint.sh ~/local/bin
mkdir -p ~/.cometbft
cp -r cometbft-config/ ~/.cometbft/config
mkdir -p ~/.hermes
cp hermes-config.toml ~/.hermes/config.toml
cp one-chain ~
cp user_seed.json ~
cp Makefile ..
cp -r tests/ ~
- name: Download and setup binaries
run: |
tar -xzf "cometbft_${COMETBFT_VERSION}_linux_amd64.tar.gz"
mv "gaiad-v${GAIA_VERSION}-linux-amd64" gaiad
tar -xzf "hermes-v${HERMES_VERSION}-x86_64-unknown-linux-gnu.tar.gz"
tar -xzf "grpcurl_${GRPCURL_VERSION}_linux_x86_64.tar.gz"
chmod +x cometbft gaiad hermes grpcurl
mv cometbft gaiad hermes grpcurl ~/local/bin
- name: Update environment path
run: |
echo "${HOME}/local/bin" >> $GITHUB_PATH
- name: Validate binaries
run: |
cometbft version
gaiad version
hermes version
grpcurl -version
- uses: actions/cache@v3
with:
path: |
~/.cargo
target
~/build
key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-rust-
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Set environment variables
run: |
echo "BASECOIN_SRC=$(pwd)" >> $GITHUB_ENV
echo "LOG_DIR=$(pwd)/log" >> $GITHUB_ENV
- name: Run integration tests
working-directory: ~
run: |
mkdir -p "${LOG_DIR}"
entrypoint.sh make test -j4