Skip to content

Commit 272a0df

Browse files
authored
Merge pull request #1899 from goblint/github-actions-macos-13-deprecated
Update CI runner images
2 parents 6abf675 + 4b03f96 commit 272a0df

File tree

8 files changed

+87
-40
lines changed

8 files changed

+87
-40
lines changed

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
os:
19-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
19+
- ubuntu-latest
2020
ocaml-compiler:
2121
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
2222
# don't add any other because they won't be used
@@ -40,7 +40,7 @@ jobs:
4040
ocaml-compiler: ${{ matrix.ocaml-compiler }}
4141

4242
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
43-
if: ${{ matrix.os == 'ubuntu-22.04' }}
43+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
4444
run: sudo apt install -y libgraph-easy-perl
4545

4646
- name: Install dependencies

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
matrix:
1818
os:
19-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
19+
- ubuntu-latest
2020
ocaml-compiler:
2121
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
2222
# don't add any other because they won't be used

.github/workflows/indentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
os:
13-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
13+
- ubuntu-latest
1414
ocaml-compiler:
1515
- 4.14.x
1616

.github/workflows/locked.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
os:
20-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
21-
- macos-13
20+
- ubuntu-latest
21+
- macos-latest
2222
ocaml-compiler:
2323
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
2424
# don't add any other because they won't be used
@@ -42,7 +42,7 @@ jobs:
4242
ocaml-compiler: ${{ matrix.ocaml-compiler }}
4343

4444
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
45-
if: ${{ matrix.os == 'ubuntu-22.04' }}
45+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
4646
run: sudo apt install -y libgraph-easy-perl
4747

4848
- name: Install dependencies
@@ -73,7 +73,7 @@ jobs:
7373
fail-fast: false
7474
matrix:
7575
os:
76-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
76+
- ubuntu-latest
7777
ocaml-compiler:
7878
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
7979
# don't add any other because they won't be used
@@ -94,7 +94,7 @@ jobs:
9494
ocaml-compiler: ${{ matrix.ocaml-compiler }}
9595

9696
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
97-
if: ${{ matrix.os == 'ubuntu-22.04' }}
97+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
9898
run: sudo apt install -y libgraph-easy-perl
9999

100100
- name: Install spin

.github/workflows/unlocked.yml

Lines changed: 73 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,71 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
os:
18-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
19-
- macos-13
20-
ocaml-compiler:
21-
- 5.2.x
22-
- 5.1.x
23-
- 5.0.x
24-
- ocaml-variants.4.14.2+options,ocaml-option-flambda
25-
- 4.14.x
26-
apron:
27-
- false
28-
- true
29-
z3:
30-
- false
31-
17+
# We don't want a full matrix because it is too slow, so we only have linear axes overriding these below.
3218
include:
33-
- os: ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
19+
# Common configuration
20+
- os: ubuntu-24.04
21+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
22+
apron: true
23+
z3: false
24+
25+
# OCaml versions
26+
- os: ubuntu-24.04
27+
ocaml-compiler: 5.4.x
28+
apron: true
29+
z3: false
30+
- os: ubuntu-24.04
31+
ocaml-compiler: 5.3.x
32+
apron: true
33+
z3: false
34+
- os: ubuntu-24.04
35+
ocaml-compiler: 5.2.x
36+
apron: true
37+
z3: false
38+
- os: ubuntu-24.04
39+
ocaml-compiler: 5.1.x
40+
apron: true
41+
z3: false
42+
- os: ubuntu-24.04
43+
ocaml-compiler: 5.0.x
44+
apron: true
45+
z3: false
46+
- os: ubuntu-24.04
3447
ocaml-compiler: 4.14.x
48+
apron: true
49+
z3: false
50+
51+
# OS-s
52+
- os: ubuntu-22.04
53+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
54+
apron: true
55+
z3: false
56+
- os: macos-26
57+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
58+
apron: true
59+
z3: false
60+
- os: macos-15-intel
61+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
62+
apron: true
63+
z3: false
64+
- os: macos-15
65+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
66+
apron: true
67+
z3: false
68+
- os: macos-14
69+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
70+
apron: true
71+
z3: false
72+
73+
# Optional dependencies
74+
- os: ubuntu-24.04
75+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
76+
apron: false
77+
z3: false
78+
- os: ubuntu-24.04
79+
ocaml-compiler: ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
80+
apron: true
3581
z3: true
36-
- os: macos-latest
37-
ocaml-compiler: 4.14.x
3882

3983
# customize name to use readable string for apron instead of just a boolean
4084
# workaround for missing ternary operator: https://github.com/actions/runner/issues/409
@@ -52,7 +96,7 @@ jobs:
5296
ocaml-compiler: ${{ matrix.ocaml-compiler }}
5397

5498
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
55-
if: ${{ matrix.os == 'ubuntu-22.04' }}
99+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
56100
run: sudo apt install -y libgraph-easy-perl
57101

58102
- name: Install dependencies
@@ -63,7 +107,7 @@ jobs:
63107

64108
- name: Install Apron dependencies
65109
if: ${{ matrix.apron }}
66-
run: opam install apron mlgmpidl.1.2.15
110+
run: opam install apron mlgmpidl
67111

68112
- name: Install Z3 dependencies
69113
if: ${{ matrix.z3 }}
@@ -86,8 +130,8 @@ jobs:
86130
fail-fast: false
87131
matrix:
88132
os:
89-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
90-
- macos-13
133+
- ubuntu-latest
134+
- macos-latest
91135
ocaml-compiler:
92136
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
93137

@@ -105,7 +149,7 @@ jobs:
105149
ocaml-compiler: ${{ matrix.ocaml-compiler }}
106150

107151
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
108-
if: ${{ matrix.os == 'ubuntu-22.04' }}
152+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
109153
run: sudo apt install -y libgraph-easy-perl
110154

111155
- name: Install dependencies
@@ -115,7 +159,7 @@ jobs:
115159
run: sudo gem install os
116160

117161
- name: Install Apron dependencies
118-
run: opam install apron mlgmpidl.1.2.15
162+
run: opam install apron mlgmpidl
119163

120164
- name: Downgrade dependencies
121165
# without "+removed" in criteria, because it also removes optional apron
@@ -138,8 +182,8 @@ jobs:
138182
fail-fast: false
139183
matrix:
140184
os:
141-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
142-
- macos-13
185+
- ubuntu-latest
186+
- macos-latest
143187
ocaml-compiler:
144188
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
145189

@@ -155,14 +199,14 @@ jobs:
155199
ocaml-compiler: ${{ matrix.ocaml-compiler }}
156200

157201
- name: Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
158-
if: ${{ matrix.os == 'ubuntu-22.04' }}
202+
if: ${{ startsWith(matrix.os, 'ubuntu') }}
159203
run: sudo apt install -y libgraph-easy-perl
160204

161205
- name: Install Goblint with test
162206
run: opam install goblint --with-test
163207

164208
- name: Install Apron dependencies
165-
run: opam install apron mlgmpidl.1.2.15
209+
run: opam install apron mlgmpidl
166210

167211
- name: Symlink installed goblint to repository # because tests want to use locally built one
168212
run: ln -s $(opam exec -- which goblint) goblint
@@ -206,7 +250,7 @@ jobs:
206250
fail-fast: false
207251
matrix:
208252
os:
209-
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
253+
- ubuntu-latest
210254
ocaml-compiler:
211255
- ocaml-variants.5.0.0+options,ocaml-option-flambda
212256
node-version:

dune-project

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Goblint includes analyses for assertions, overflows, deadlocks, etc and can be e
3939
(ocaml (>= 4.14))
4040
(goblint-cil (>= 2.0.9)) ; TODO no way to define as pin-depends? Used goblint.opam.template to add it for now. https://github.com/ocaml/dune/issues/3231. Alternatively, removing this line and adding cil as a git submodule and `(vendored_dirs cil)` as ./dune also works. This way, no more need to reinstall the pinned cil opam package on changes. However, then cil is cleaned and has to be rebuild together with goblint.
4141
(batteries (>= 3.9.0))
42-
(zarith (>= 1.10))
42+
(zarith (>= 1.12))
4343
(yojson (and (>= 2.0.0) (< 3))) ; json-data-encoding has incompatible yojson representation for yojson 3
4444
(qcheck-core (>= 0.19))
4545
(ppx_deriving (>= 6.0.2))
@@ -80,6 +80,7 @@ Goblint includes analyses for assertions, overflows, deadlocks, etc and can be e
8080
(apron (< v0.9.15)) ; lower bounds for depopts seem to not properly constrain in builtin-0install lower-bounds job, so upper bounds for conflicts instead
8181
(camlidl (< 1.13)) ; for stability (https://github.com/goblint/analyzer/issues/1520)
8282
(ez-conf-lib (= 1)) ; https://github.com/nberth/ez-conf-lib/issues/3
83+
(mlgmpidl (< 1.3.0)) ; to use conf-mpfr-paths to work on MacOS
8384
)
8485
(sites
8586
(share lib)

goblint.opam

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ depends: [
4141
"ocaml" {>= "4.14"}
4242
"goblint-cil" {>= "2.0.9"}
4343
"batteries" {>= "3.9.0"}
44-
"zarith" {>= "1.10"}
44+
"zarith" {>= "1.12"}
4545
"yojson" {>= "2.0.0" & < "3"}
4646
"qcheck-core" {>= "0.19"}
4747
"ppx_deriving" {>= "6.0.2"}
@@ -78,6 +78,7 @@ conflicts: [
7878
"apron" {< "v0.9.15"}
7979
"camlidl" {< "1.13"}
8080
"ez-conf-lib" {= "1"}
81+
"mlgmpidl" {< "1.3.0"}
8182
]
8283
build: [
8384
["dune" "subst"] {dev}

goblint.opam.locked

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ conflicts: [
140140
"apron" {< "v0.9.15"}
141141
"camlidl" {< "1.13"}
142142
"ez-conf-lib" {= "1"}
143+
"mlgmpidl" {< "1.3.0"}
143144
]
144145
post-messages: [
145146
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}

0 commit comments

Comments
 (0)