@@ -137,14 +137,29 @@ jobs:
137
137
fail-fast : false
138
138
matrix :
139
139
include :
140
+ - os : ubuntu-latest # x64
141
+ ocaml_compiler : ocaml-variants.5.2.0+options,ocaml-option-static
142
+ upload_binaries : true
143
+ upload_libs : true
144
+ # Build the playground compiler on the fastest runner
145
+ build_playground : true
140
146
- os : macos-13 # x64
141
147
ocaml_compiler : 5.2.0
148
+ upload_binaries : true
142
149
- os : macos-14 # ARM
143
150
ocaml_compiler : 5.2.0
144
- - os : ubuntu-latest # x64
145
- ocaml_compiler : ocaml-variants.5.2.0+options,ocaml-option-static
151
+ upload_binaries : true
146
152
- os : windows-latest
147
153
ocaml_compiler : 5.2.0
154
+ upload_binaries : true
155
+
156
+ # Verify that the compiler still builds with older OCaml versions
157
+ - os : ubuntu-latest
158
+ ocaml_compiler : ocaml-variants.5.0.0+options,ocaml-option-static
159
+ - os : ubuntu-latest
160
+ ocaml_compiler : ocaml-variants.4.14.2+options,ocaml-option-static
161
+ - os : ubuntu-latest
162
+ ocaml_compiler : ocaml-variants.4.13.0+options,ocaml-option-static
148
163
149
164
runs-on : ${{matrix.os}}
150
165
@@ -372,33 +387,33 @@ jobs:
372
387
if : runner.os == 'Windows'
373
388
run : node scripts/ciTest.js -mocha -theme -format
374
389
375
- # Build the playground compiler on the fastest runner (ubuntu-latest)
376
390
- name : Build playground compiler
377
- if : matrix.os == 'ubuntu-latest'
391
+ if : matrix.build_playground
378
392
run : |
379
393
opam exec -- node packages/playground-bundling/scripts/generate_cmijs.js
380
394
opam exec -- dune build --profile browser
381
395
cp ./_build/default/jscomp/jsoo/jsoo_playground_main.bc.js playground/compiler.js
382
396
383
397
- name : Test playground compiler
384
- if : matrix.os == 'ubuntu-latest'
398
+ if : matrix.build_playground
385
399
run : node playground/playground_test.js
386
400
387
401
- name : Upload playground compiler to CDN
388
- if : ${{ matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/v') }}
402
+ if : ${{ matrix.build_playground && startsWith(github.ref, 'refs/tags/v') }}
389
403
env :
390
404
KEYCDN_USER : ${{ secrets.KEYCDN_USER }}
391
405
KEYCDN_PASSWORD : ${{ secrets.KEYCDN_PASSWORD }}
392
406
run : bash playground/upload_bundle.sh
393
407
394
408
- name : " Upload artifacts: binaries"
409
+ if : matrix.upload_binaries
395
410
uses : actions/upload-artifact@v4
396
411
with :
397
412
name : binaries-${{ env.artifact_dir_name }}
398
413
path : ${{ env.artifact_dir_name }}
399
414
400
415
- name : " Upload artifacts: lib/ocaml"
401
- if : runner.os == 'Linux'
416
+ if : matrix.upload_libs
402
417
uses : actions/upload-artifact@v4
403
418
with :
404
419
name : lib-ocaml
0 commit comments