1
1
# Overall configuration notes:
2
2
# - Artifact uploads for binaries are from GHC 8.10.7
3
- # - Builds for Ubuntu happen on 18.04 (would like to include 20.04, in addition)
3
+ # - Builds for Ubuntu happen on 22.04. We also include a single configuration
4
+ # for 20.04 to increase our Linux coverage.
4
5
# - Docker builds happen nightly, on manual invocation, and on release branch commits
5
6
# Please update this comment as those details change.
6
7
23
24
# ./saw-remote-api/Dockerfile
24
25
# ./s2nTests/scripts/blst-entrypoint.sh
25
26
# ./s2nTests/docker/saw.dockerfile
26
- SOLVER_PKG_VERSION : " snapshot-20220721 "
27
+ SOLVER_PKG_VERSION : " snapshot-20220902 "
27
28
28
29
OCAML_VERSION : 4.09.x
29
30
30
31
jobs :
31
32
config :
32
- runs-on : ubuntu-latest
33
+ runs-on : ubuntu-22.04
33
34
outputs :
34
35
name : ${{ steps.config.outputs.name }}
35
36
version : ${{ steps.config.outputs.version }}
@@ -66,20 +67,28 @@ jobs:
66
67
strategy :
67
68
fail-fast : false
68
69
matrix :
69
- os : [ubuntu-18 .04, macos-12, windows-latest]
70
+ os : [ubuntu-22 .04, macos-12, windows-latest]
70
71
ghc : ["8.8.4", "8.10.7", "9.0.2"]
72
+ run-tests : [true]
73
+ include :
74
+ - os : ubuntu-20.04
75
+ ghc : " 8.10.7"
76
+ run-tests : false
71
77
exclude :
72
78
# Exclude 8.8 on macOS 12 due to
73
79
# https://gitlab.haskell.org/ghc/ghc/-/issues/18446
74
80
- os : macos-12
75
81
ghc : " 8.8.4"
82
+ run-tests : true
76
83
- os : windows-latest
77
84
ghc : " 8.8.4"
85
+ run-tests : true
78
86
# Exclude 9.0 on Windows for now until
79
87
# https://github.com/commercialhaskell/stackage/issues/6400
80
88
# is resolved
81
89
- os : windows-latest
82
90
ghc : " 9.0.2"
91
+ run-tests : false
83
92
outputs :
84
93
cabal-test-suites-json : ${{ steps.cabal-test-suites.outputs.targets-json }}
85
94
steps :
91
100
- id : config
92
101
shell : bash
93
102
run : |
94
- NAME="${{ needs.config.outputs.name }}-${{ runner .os }}-x86_64"
103
+ NAME="${{ needs.config.outputs.name }}-${{ matrix .os }}-x86_64"
95
104
.github/ci.sh output name $NAME
96
- echo "NAME=${{ needs.config.outputs.name }}-${{ runner .os }}-x86_64" >> $GITHUB_ENV
105
+ echo "NAME=${{ needs.config.outputs.name }}-${{ matrix .os }}-x86_64" >> $GITHUB_ENV
97
106
98
107
- uses : haskell/actions/setup@v1
99
108
id : setup-haskell
@@ -119,9 +128,9 @@ jobs:
119
128
path : |
120
129
${{ steps.setup-haskell.outputs.cabal-store }}
121
130
dist-newstyle
122
- key : ${{ env.CACHE_VERSION }}-cabal-${{ runner .os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-${{ github.sha }}
131
+ key : ${{ env.CACHE_VERSION }}-cabal-${{ matrix .os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-${{ github.sha }}
123
132
restore-keys : |
124
- ${{ env.CACHE_VERSION }}-cabal-${{ runner .os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-
133
+ ${{ env.CACHE_VERSION }}-cabal-${{ matrix .os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-
125
134
126
135
- if : needs.config.outputs.release == 'true'
127
136
shell : bash
@@ -198,7 +207,7 @@ jobs:
198
207
if-no-files-found : error
199
208
retention-days : ${{ needs.config.outputs.retention-days }}
200
209
201
- - if : " matrix.ghc == '8.10.7'"
210
+ - if : matrix.ghc == '8.10.7' && matrix.run-tests
202
211
uses : actions/upload-artifact@v2
203
212
with :
204
213
path : dist/bin
@@ -209,7 +218,7 @@ jobs:
209
218
strategy :
210
219
fail-fast : false
211
220
matrix :
212
- os : [ubuntu-latest , macos-12]
221
+ os : [ubuntu-22.04 , macos-12]
213
222
runs-on : ${{ matrix.os }}
214
223
steps :
215
224
- uses : actions/checkout@v2
@@ -243,7 +252,7 @@ jobs:
243
252
strategy :
244
253
fail-fast : false
245
254
matrix :
246
- os : [ubuntu-latest , macos-12]
255
+ os : [ubuntu-22.04 , macos-12]
247
256
runs-on : ${{ matrix.os }}
248
257
steps :
249
258
- uses : actions/checkout@v2
@@ -295,7 +304,7 @@ jobs:
295
304
include :
296
305
- name : Install and test
297
306
test : saw-remote-api/scripts/run_rpc_tests.sh
298
- os : ubuntu-18 .04
307
+ os : ubuntu-22 .04
299
308
# TODO: saw-remote-api unit tests are disabled pending a fix for #1699
300
309
- name : Install on MacOS
301
310
test : |
@@ -306,7 +315,7 @@ jobs:
306
315
os : macos-12
307
316
- name : Check docs
308
317
test : saw-remote-api/scripts/check_docs.sh
309
- os : ubuntu-18 .04
318
+ os : ubuntu-22 .04
310
319
steps :
311
320
- uses : actions/checkout@v2
312
321
with :
@@ -350,7 +359,7 @@ jobs:
350
359
fail-fast : false
351
360
matrix :
352
361
suite : ${{ fromJson(needs.build.outputs.cabal-test-suites-json) }}
353
- os : [ubuntu-18 .04]
362
+ os : [ubuntu-22 .04]
354
363
continue-on-error : [false]
355
364
include :
356
365
- suite : integration_tests
@@ -414,7 +423,7 @@ jobs:
414
423
dist-tests/${{ matrix.suite }}
415
424
416
425
build-push-image :
417
- runs-on : ubuntu-latest
426
+ runs-on : ubuntu-22.04
418
427
needs : [config]
419
428
if : github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || needs.config.outputs.release == 'true'
420
429
strategy :
@@ -516,7 +525,7 @@ jobs:
516
525
name : " Test s2n proofs"
517
526
timeout-minutes : 120
518
527
needs : build
519
- runs-on : ubuntu-18 .04
528
+ runs-on : ubuntu-22 .04
520
529
strategy :
521
530
fail-fast : false
522
531
matrix :
@@ -569,7 +578,7 @@ jobs:
569
578
# - changes to jobs or job instances don't require a mergify config update
570
579
# - dependencies through `needs:` are validated, CI will fail if it's invalid
571
580
mergify :
572
- runs-on : ubuntu-latest
581
+ runs-on : ubuntu-22.04
573
582
needs :
574
583
- build
575
584
- heapster-tests
0 commit comments