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