-
Notifications
You must be signed in to change notification settings - Fork 91
150 lines (116 loc) · 3.29 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: CI
on:
push:
branches: ["main"]
pull_request:
env:
CARGO_TERM_COLOR: always
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build-test:
name: Build and test
runs-on: ubuntu-latest
timeout-minutes: 120
strategy:
matrix:
VERSIONS: [
{name: native, toolchain: nightly-2024-04-17},
{name: sp1, toolchain: nightly-2024-04-17},
{name: risc0, toolchain: stable},
{name: sgx, toolchain: stable},
]
env:
TARGET: ${{ matrix.VERSIONS.name }}
CI: 1
MOCK: 1
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.VERSIONS.toolchain }}
profile: minimal
- name: Install cargo-binstall
uses: cargo-bins/[email protected]
- name: Setup sccache
if: ${{ matrix.VERSIONS.name }} == risc0
uses: risc0/risc0/.github/actions/[email protected]
- name: Install ${{ matrix.VERSIONS.name }}
run: make install
- name: Build ${{ matrix.VERSIONS.name }} prover
run: make build
- name: Test ${{ matrix.VERSIONS.name }} prover
run: make test
- name: Build with tracer
if: ${{ matrix.VERSIONS.name }} == native
run: cargo build -F tracer
build-test-sgx-hardware:
name: Build and test sgx in hardware
runs-on: [self-hosted, sgx, linux]
timeout-minutes: 120
env:
TARGET: sgx
CI: 1
EDMM: 0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Install cargo-binstall
uses: cargo-bins/[email protected]
- name: Install sgx
run: make install
- name: Build sgx prover
run: make build
- name: Test sgx prover
run: make test
build-test-sgx-with-docker:
name: Build and test sgx with Docker
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Setup and build
run: |
cd docker
docker compose build --no-cache
shell: bash
test-lib:
name: Test raiko-lib
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
- run: cargo test -p raiko-lib --features=std
clippy:
name: clippy
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: risc0/risc0/.github/actions/[email protected]
- uses: risc0/risc0/.github/actions/[email protected]
- uses: risc0/clippy-action@main
with:
reporter: 'github-pr-check'
fail_on_error: true
clippy_flags: --workspace --all-targets --all-features -- -D warnings
fmt:
name: fmt
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: risc0/risc0/.github/actions/[email protected]
- run: make fmt