-
Notifications
You must be signed in to change notification settings - Fork 3
117 lines (109 loc) · 3.42 KB
/
e2e.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
117
name: e2e
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
paths:
- '**.rs'
- '**.go'
- '**.toml'
- '**.lock'
- '**.mod'
- '**.sum'
- '**.sol'
- '.github/workflows/e2e.yml'
- 'bun.lockb'
env:
FOUNDRY_PROFILE: ci
SP1_OPERATOR_REV: 0c68154522413f20e078726014d753bbedcdbd2b
permissions:
contents: read
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: "1.22"
cache-dependency-path: 'e2e/interchaintestv8/go.sum'
- name: golangci-lint
uses: golangci/[email protected]
with:
version: v1.61
args: --timeout 5m
working-directory: e2e/interchaintestv8
e2e:
strategy:
fail-fast: false
matrix:
test:
# List your tests here
- TestWithIbcEurekaTestSuite/TestDeploy
- TestWithIbcEurekaTestSuite/TestICS20TransferERC20TokenfromEthereumToCosmosAndBack
- TestWithIbcEurekaTestSuite/TestICS20TransferNativeCosmosCoinsToEthereumAndBack
- TestWithIbcEurekaTestSuite/TestICS20TransferTimeoutFromEthereumToCosmosChain
name: ${{ matrix.test }}
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Create LFS file list
run: git lfs ls-files --long | cut -d ' ' -f1 | sort > .lfs-assets-id
- name: LFS Cache
uses: actions/cache@v4
with:
path: .git/lfs/objects
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
restore-keys: |
${{ runner.os }}-lfs-
- name: Git LFS Pull
run: git lfs pull
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: "1.22"
check-latest: true
cache-dependency-path: "e2e/interchaintestv8/go.sum"
- name: "Install Bun"
uses: "oven-sh/setup-bun@v2"
- name: "Install the Node.js dependencies"
run: bun install
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: "Cache Operator"
id: cache-operator
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
key: ${{ runner.os }}-operator-${{ env.SP1_OPERATOR_REV }}
- name: Install SP1 toolchain
if: steps.cache-operator.outputs.cache-hit != 'true'
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up
~/.sp1/bin/cargo-prove prove --version
- name: Install SP1 circuit artifacts (plonky only)
run: |
mkdir ~/.sp1/circuits
mv e2e/artifacts/circuits/v2.0.0 ~/.sp1/circuits/v2.0.0
- name: Install operator
if: steps.cache-operator.outputs.cache-hit != 'true'
uses: actions-rs/cargo@v1
with:
command: install
args: --git https://github.com/cosmos/sp1-ics07-tendermint --rev ${{ env.SP1_OPERATOR_REV }} sp1-ics07-tendermint-operator --bin operator --locked
- name: Run Tests
env:
SP1_PRIVATE_KEY: ${{ secrets.SP1_PRIVATE_KEY }}
run: |
cd e2e/interchaintestv8
go test -v -mod=readonly . -run '^${{ matrix.test }}$' -timeout 40m