-
Notifications
You must be signed in to change notification settings - Fork 8
133 lines (121 loc) · 3.73 KB
/
rust.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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Based on https://github.com/actions-rs/example/blob/master/.github/workflows/quickstart.yml
name: rust
on:
push:
branches: [main]
pull_request:
jobs:
lints:
name: fmt-and-clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: "Set up environment"
uses: ./.github/setup
- name: Install SP1 toolchain
shell: bash
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }}
~/.sp1/bin/cargo-prove prove --version
- name: Install just
uses: extractions/setup-just@v2
- name: Build SP1 Programs
run: just build-sp1-programs
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
tests:
name: unit-tests
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install SP1 toolchain
shell: bash
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }}
~/.sp1/bin/cargo-prove prove --version
- name: "Set up environment"
uses: ./.github/setup
- name: Install just
uses: extractions/setup-just@v2
- name: Run unit tests
run: just test-cargo
env:
RUST_BACKTRACE: 1
build-relayer:
name: build-relayer
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: "Set up environment"
uses: ./.github/setup
- name: Install SP1 toolchain
shell: bash
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }}
~/.sp1/bin/cargo-prove prove --version
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --bin relayer --release --locked
build-operator:
name: build-operator
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: "Set up environment"
uses: ./.github/setup
- name: Install SP1 toolchain
shell: bash
run: |
curl -L https://sp1.succinct.xyz | bash
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }}
~/.sp1/bin/cargo-prove prove --version
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --bin operator --release --locked
build-08-wasm-eth:
name: build-08-wasm-eth
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: "Check out the repo"
uses: "actions/checkout@v4"
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy
target: wasm32-unknown-unknown
- name: Install cargo-run-script and cosmwasm-check
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-run-script cosmwasm-check
- name: Install just
uses: extractions/setup-just@v2
- name: Build optimized wasm binary
run: just build-cw-ics08-wasm-eth
# checks that the wasm binary is a proper cosmwasm smart contract
# it checks for things like memories, exports, imports, available capabilities, and non-determinism
- name: Check cosmwasm file
run: cosmwasm-check artifacts/cw_ics08_wasm_eth.wasm