-
Notifications
You must be signed in to change notification settings - Fork 396
131 lines (108 loc) · 2.99 KB
/
build-and-test-rust.yml
File metadata and controls
131 lines (108 loc) · 2.99 KB
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
name: build-and-test-rust-projects
on:
push:
branches:
- testnet
- staging
pull_request:
branches: ["*"]
paths:
- "crates/**"
- "aggregation_mode/**"
- ".github/workflows/build-and-test-rust.yml"
jobs:
build:
runs-on: aligned-runner
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.86.0
components: rustfmt, clippy
override: true
- name: Install sp1 toolchain
run: |
curl -L https://sp1.succinct.xyz | bash
source /home/runner/.bashrc
~/.sp1/bin/sp1up
- name: Install risc0 toolchain
run: |
curl -L https://risczero.com/install | bash
source ~/.bashrc
~/.risc0/bin/rzup install
- name: Cache Rust dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-rust-
- name: Clean build dir
run: rm -rf crates/target
- name: Check formatting
run: |
cd crates
cargo fmt --all -- --check
- name: Run Clippy
run: |
cd crates
cargo clippy --all -- -D warnings
- name: Build Batcher
run: |
cd crates
cargo build --all -vv
- name: Check formatting of AggregationMode
run: |
cd aggregation_mode
cargo fmt --all -- --check
- name: Build AggregationMode
run: |
cd aggregation_mode
cargo build --all -vv
- name: Run Clippy on AggregationMode
run: |
cd aggregation_mode
RISC0_SKIP_BUILD=1 cargo clippy --all -- -D warnings
test:
runs-on: aligned-runner
needs: build
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
- name: foundry-toolchain
uses: foundry-rs/foundry-toolchain@v1.2.0
- name: Install sp1 toolchain
run: |
curl -L https://sp1.succinct.xyz | bash
source /home/runner/.bashrc
~/.sp1/bin/sp1up
- name: Install risc0 toolchain
run: |
curl -L https://risczero.com/install | bash
source ~/.bashrc
~/.risc0/bin/rzup install
- name: Cache Rust dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-rust-
- name: Clean build dir
run: rm -rf crates/target
- name: Run Batcher tests
run: |
cd crates
cargo test --all -vv
- name: Run AggregationMode tests
run: |
cd aggregation_mode
cargo test --all -vv