Skip to content

Commit 1c59c19

Browse files
committed
CI: update to include 1.84 for all platforms
1 parent 7ab5d8c commit 1c59c19

File tree

1 file changed

+30
-48
lines changed

1 file changed

+30
-48
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ jobs:
3232
outputs:
3333
ocaml_version: ${{ steps.ocaml.outputs.version }}
3434
node: ${{ steps.node.outputs.version }}
35-
matrix: ${{ steps.matrix.outputs.value }}
35+
rust_version: ${{ steps.rust.outputs.version }}
36+
os: ${{ steps.os.outputs.version }}
3637
default_rust_version: ${{ steps.defaults.outputs.rust_version }}
3738
default_os: ${{ steps.defaults.outputs.os }}
3839
steps:
@@ -43,32 +44,21 @@ jobs:
4344
run: echo 'version=["4.14.2"]' >> "$GITHUB_OUTPUT"
4445
- id: node
4546
run: echo 'version=["20"]' >> "$GITHUB_OUTPUT"
47+
- id: rust
48+
run: echo 'version=["1.81", "1.82", "1.84"]' >> "$GITHUB_OUTPUT"
49+
- id: os
50+
run: echo 'version=["ubuntu-latest", "ubuntu-24.04-arm", "macos-latest"]' >> "$GITHUB_OUTPUT"
4651
- id: defaults
4752
run: |
4853
echo 'rust_version=1.81' >> "$GITHUB_OUTPUT"
4954
echo 'os=ubuntu-latest' >> "$GITHUB_OUTPUT"
50-
- id: matrix
51-
run: |
52-
# NOTE: This custom matrix configuration is needed to use Rust 1.84 specifically for macOS.
53-
# When https://github.com/o1-labs/proof-systems/issues/3254 is fixed,
54-
# this can be simplified to use a standard matrix configuration.
55-
cat > matrix.json << 'EOF'
56-
{
57-
"include": [
58-
{"rust_toolchain_version": "1.81", "os": "ubuntu-latest"},
59-
{"rust_toolchain_version": "1.82", "os": "ubuntu-latest"},
60-
{"rust_toolchain_version": "1.81", "os": "ubuntu-24.04-arm"},
61-
{"rust_toolchain_version": "1.82", "os": "ubuntu-24.04-arm"},
62-
{"rust_toolchain_version": "1.84", "os": "macos-latest"}
63-
]
64-
}
65-
EOF
66-
echo "value=$(cat matrix.json | jq -c .)" >> "$GITHUB_OUTPUT"
6755
6856
refresh-cache:
6957
needs: ['define-matrix']
7058
strategy:
71-
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
59+
matrix:
60+
rust_toolchain_version: ${{ fromJSON(needs.define-matrix.outputs.rust_version) }}
61+
os: ${{ fromJSON(needs.define-matrix.outputs.os) }}
7262
runs-on: ${{ matrix.os }}
7363
steps:
7464
# if 'workflow_run'
@@ -78,7 +68,7 @@ jobs:
7868
- uses: ./.github/actions/toolchain-shared
7969
if: ${{ github.event_name == 'workflow_run' }}
8070
with:
81-
rust_toolchain_version: ${{ matrix.rust_and_os.rust_toolchain_version }}
71+
rust_toolchain_version: ${{ matrix.rust_toolchain_version }}
8272
- name: start-fresh
8373
if: ${{ github.event_name == 'workflow_run' }}
8474
shell: bash
@@ -95,14 +85,11 @@ jobs:
9585
needs: ['define-matrix', 'refresh-cache']
9686
strategy:
9787
matrix:
98-
rust_and_os: ${{ fromJSON(needs.define-matrix.outputs.matrix).include }}
88+
rust_toolchain_version: ${{ fromJSON(needs.define-matrix.outputs.rust_version) }}
89+
os: ${{ fromJSON(needs.define-matrix.outputs.os) }}
9990
ocaml_version: ${{ fromJSON(needs.define-matrix.outputs.ocaml_version) }}
10091
node: ${{ fromJSON(needs.define-matrix.outputs.node) }}
101-
exclude:
102-
# Skip Rust 1.84 due to linting issues - remove when
103-
# https://github.com/o1-labs/proof-systems/pull/3245 is fixed
104-
- rust_and_os: {rust_toolchain_version: '1.84', os: 'macos-latest'}
105-
runs-on: ${{ matrix.rust_and_os.os }}
92+
runs-on: ${{ matrix.os }}
10693
steps:
10794
- name: Checkout repository
10895
uses: actions/checkout@v5
@@ -117,7 +104,7 @@ jobs:
117104
- name: Use shared Rust toolchain setting up steps
118105
uses: ./.github/actions/toolchain-shared
119106
with:
120-
rust_toolchain_version: ${{ matrix.rust_and_os.rust_toolchain_version }}
107+
rust_toolchain_version: ${{ matrix.rust_toolchain_version }}
121108

122109
- name: Use shared OCaml setting up steps
123110
uses: ./.github/actions/ocaml-shared
@@ -178,8 +165,8 @@ jobs:
178165
if: >-
179166
github.event_name == 'push' &&
180167
github.ref == 'refs/heads/master' &&
181-
matrix.rust_and_os.rust_toolchain_version == needs.define-matrix.outputs.default_rust_version &&
182-
matrix.rust_and_os.os == needs.define-matrix.outputs.default_os
168+
matrix.rust_toolchain_version == needs.define-matrix.outputs.default_rust_version &&
169+
matrix.os == needs.define-matrix.outputs.default_os
183170
run: |
184171
eval $(opam env)
185172
RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo +nightly doc --all-features --no-deps --workspace --exclude xtask
@@ -190,8 +177,8 @@ jobs:
190177
if: >-
191178
github.event_name == 'push' &&
192179
github.ref == 'refs/heads/master' &&
193-
matrix.rust_and_os.rust_toolchain_version == needs.define-matrix.outputs.default_rust_version &&
194-
matrix.rust_and_os.os == needs.define-matrix.outputs.default_os
180+
matrix.rust_toolchain_version == needs.define-matrix.outputs.default_rust_version &&
181+
matrix.os == needs.define-matrix.outputs.default_os
195182
with:
196183
github_token: ${{ secrets.GITHUB_TOKEN }}
197184
publish_dir: ./book/book/html
@@ -200,14 +187,11 @@ jobs:
200187
needs: ['define-matrix', 'refresh-cache']
201188
strategy:
202189
matrix:
203-
rust_and_os: ${{ fromJSON(needs.define-matrix.outputs.matrix).include }}
190+
rust_toolchain_version: ${{ fromJSON(needs.define-matrix.outputs.rust_version) }}
191+
os: ${{ fromJSON(needs.define-matrix.outputs.os) }}
204192
ocaml_version: ${{ fromJSON(needs.define-matrix.outputs.ocaml_version) }}
205193
node: ${{ fromJSON(needs.define-matrix.outputs.node) }}
206-
exclude:
207-
# Skip Rust 1.84 due to linting issues - remove when
208-
# https://github.com/o1-labs/proof-systems/pull/3245 is fixed
209-
- rust_and_os: {rust_toolchain_version: '1.84', os: 'macos-latest'}
210-
runs-on: ${{ matrix.rust_and_os.os }}
194+
runs-on: ${{ matrix.os }}
211195
steps:
212196
- name: Checkout repository
213197
uses: actions/checkout@v5
@@ -217,7 +201,7 @@ jobs:
217201
- name: Use shared Rust toolchain setting up steps
218202
uses: ./.github/actions/toolchain-shared
219203
with:
220-
rust_toolchain_version: ${{ matrix.rust_and_os.rust_toolchain_version }}
204+
rust_toolchain_version: ${{ matrix.rust_toolchain_version }}
221205

222206
- name: Use shared OCaml setting up steps
223207
uses: ./.github/actions/ocaml-shared
@@ -236,10 +220,11 @@ jobs:
236220
needs: ['define-matrix', 'refresh-cache']
237221
strategy:
238222
matrix:
239-
rust_and_os: ${{ fromJSON(needs.define-matrix.outputs.matrix).include }}
223+
rust_toolchain_version: ${{ fromJSON(needs.define-matrix.outputs.rust_version) }}
224+
os: ${{ fromJSON(needs.define-matrix.outputs.os) }}
240225
ocaml_version: ${{ fromJSON(needs.define-matrix.outputs.ocaml_version) }}
241226
node: ${{ fromJSON(needs.define-matrix.outputs.node) }}
242-
runs-on: ${{ matrix.rust_and_os.os }}
227+
runs-on: ${{ matrix.os }}
243228
steps:
244229
- name: Checkout repository
245230
uses: actions/checkout@v5
@@ -249,7 +234,7 @@ jobs:
249234
- name: Use shared Rust toolchain setting up steps
250235
uses: ./.github/actions/toolchain-shared
251236
with:
252-
rust_toolchain_version: ${{ matrix.rust_and_os.rust_toolchain_version }}
237+
rust_toolchain_version: ${{ matrix.rust_toolchain_version }}
253238

254239
- name: Use shared OCaml setting up steps
255240
uses: ./.github/actions/ocaml-shared
@@ -268,14 +253,11 @@ jobs:
268253
needs: ['define-matrix', 'refresh-cache']
269254
strategy:
270255
matrix:
271-
rust_and_os: ${{ fromJSON(needs.define-matrix.outputs.matrix).include }}
256+
rust_toolchain_version: ${{ fromJSON(needs.define-matrix.outputs.rust_version) }}
257+
os: ${{ fromJSON(needs.define-matrix.outputs.os) }}
272258
ocaml_version: ${{ fromJSON(needs.define-matrix.outputs.ocaml_version) }}
273259
node: ${{ fromJSON(needs.define-matrix.outputs.node) }}
274-
exclude:
275-
# Skip Rust 1.84 due to linting issues - remove when
276-
# https://github.com/o1-labs/proof-systems/pull/3245 is fixed
277-
- rust_and_os: {rust_toolchain_version: '1.84', os: 'macos-latest'}
278-
runs-on: ${{ matrix.rust_and_os.os }}
260+
runs-on: ${{ matrix.os }}
279261
steps:
280262
- name: Checkout repository
281263
uses: actions/checkout@v5
@@ -285,7 +267,7 @@ jobs:
285267
- name: Use shared Rust toolchain setting up steps
286268
uses: ./.github/actions/toolchain-shared
287269
with:
288-
rust_toolchain_version: ${{ matrix.rust_and_os.rust_toolchain_version }}
270+
rust_toolchain_version: ${{ matrix.rust_toolchain_version }}
289271
components: llvm-tools-preview
290272

291273
- name: Use shared OCaml setting up steps

0 commit comments

Comments
 (0)