forked from Plonky3/Plonky3
-
Notifications
You must be signed in to change notification settings - Fork 1
133 lines (111 loc) · 3.92 KB
/
ci.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
132
133
name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "*" ]
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 1
jobs:
build_and_test:
name: Build and Test
runs-on: ubuntu-latest
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
id: rs-stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: rust-${{ steps.rs-stable.outputs.rustc_hash }}-${{ hashFiles('**/Cargo.toml') }}
- name: Build
run: cargo build --verbose --all-targets
- name: Check with parallel
run: cargo check --verbose --all-targets --features parallel
- name: Test
run: cargo test --verbose
- name: Test with parallel
run: cargo test --verbose --features parallel
lint:
name: Formatting and Clippy
runs-on: ubuntu-latest
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
id: rs-stable
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: rust-${{ steps.rs-stable.outputs.rustc_hash }}-${{ hashFiles('**/Cargo.toml') }}
- name: Clippy
run: cargo +stable clippy --all-targets -- -D warnings
- name: Format
run: cargo +nightly fmt --all -- --check
check_crates:
name: Check Crates
runs-on: ubuntu-latest
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
id: rs-stable
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: rust-${{ steps.rs-stable.outputs.rustc_hash }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
- name: Cargo Check Crates
run: |
cargo check --verbose --package p3-air
cargo check --verbose --package p3-baby-bear
cargo check --verbose --package p3-blake3
cargo check --verbose --package p3-brakedown
cargo check --verbose --package p3-challenger
cargo check --verbose --package p3-code
cargo check --verbose --package p3-commit
cargo check --verbose --package p3-dft
cargo check --verbose --package p3-field
cargo check --verbose --package p3-field-testing
cargo check --verbose --package p3-fri
cargo check --verbose --package p3-goldilocks
cargo check --verbose --package p3-interpolation
cargo check --verbose --package p3-keccak
cargo check --verbose --package p3-keccak-air
cargo check --verbose --package p3-lde
cargo check --verbose --package p3-matrix
cargo check --verbose --package p3-maybe-rayon
cargo check --verbose --package p3-mds
cargo check --verbose --package p3-merkle-tree
cargo check --verbose --package p3-mersenne-31
cargo check --verbose --package p3-monolith
cargo check --verbose --package p3-multi-stark
cargo check --verbose --package p3-poseidon
cargo check --verbose --package p3-poseidon2
cargo check --verbose --package p3-reed-solomon
cargo check --verbose --package p3-rescue
cargo check --verbose --package p3-symmetric
cargo check --verbose --package p3-tensor-pcs
cargo check --verbose --package p3-uni-stark
cargo check --verbose --package p3-util