@@ -15,13 +15,13 @@ jobs:
1515 fail-fast : false
1616 matrix :
1717 os :
18- - ubuntu-latest
18+ - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
1919 - macos-13
2020 ocaml-compiler :
2121 - 5.2.x
2222 - 5.1.x
2323 - 5.0.x
24- - ocaml-variants.4.14.0 +options,ocaml-option-flambda
24+ - ocaml-variants.4.14.2 +options,ocaml-option-flambda
2525 - 4.14.x
2626 apron :
2727 - false
3030 - false
3131
3232 include :
33- - os : ubuntu-latest
33+ - os : ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
3434 ocaml-compiler : 4.14.x
3535 z3 : true
36+ - os : macos-latest
37+ ocaml-compiler : 4.14.x
3638
3739 # customize name to use readable string for apron instead of just a boolean
3840 # workaround for missing ternary operator: https://github.com/actions/runner/issues/409
@@ -45,13 +47,12 @@ jobs:
4547 uses : actions/checkout@v4
4648
4749 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
48- uses : ocaml/setup-ocaml@v2
50+ uses : ocaml/setup-ocaml@v3
4951 with :
5052 ocaml-compiler : ${{ matrix.ocaml-compiler }}
51- opam-depext-flags : --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
5253
5354 - name : Install graph-easy # TODO: remove if depext --with-test works
54- if : ${{ matrix.os == 'ubuntu-latest ' }}
55+ if : ${{ matrix.os == 'ubuntu-22.04 ' }}
5556 run : sudo apt install -y libgraph-easy-perl
5657
5758 - name : Install dependencies
@@ -89,10 +90,10 @@ jobs:
8990 fail-fast : false
9091 matrix :
9192 os :
92- - ubuntu-latest
93+ - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
9394 - macos-13
9495 ocaml-compiler :
95- - ocaml-variants.4.14.0 +options,ocaml-option-flambda # matches opam lock file, downgrade deps step
96+ - ocaml-variants.4.14.2 +options,ocaml-option-flambda # matches opam lock file, downgrade deps step
9697
9798 name : lower-bounds (${{ matrix.os }}, ${{ matrix.ocaml-compiler }}, downgrade)
9899
@@ -109,10 +110,9 @@ jobs:
109110 uses : ocaml/setup-ocaml@v2
110111 with :
111112 ocaml-compiler : ${{ matrix.ocaml-compiler }}
112- opam-depext-flags : --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
113113
114114 - name : Install graph-easy # TODO: remove if depext --with-test works
115- if : ${{ matrix.os == 'ubuntu-latest ' }}
115+ if : ${{ matrix.os == 'ubuntu-22.04 ' }}
116116 run : sudo apt install -y libgraph-easy-perl
117117
118118 - name : Install dependencies
@@ -133,7 +133,7 @@ jobs:
133133 - name : Downgrade dependencies
134134 # must specify ocaml-base-compiler again to prevent it from being downgraded
135135 # prevent num downgrade to avoid dune/jbuilder error: https://github.com/ocaml/dune/issues/5280
136- run : opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.0 +options ocaml-option-flambda num.1.5)
136+ run : opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.2 +options ocaml-option-flambda num.1.5)
137137
138138 - name : Build
139139 run : ./make.sh nat
@@ -165,7 +165,7 @@ jobs:
165165
166166 - name : Build dev Docker image
167167 id : build
168- uses : docker/build-push-action@v5
168+ uses : docker/build-push-action@v6
169169 with :
170170 context : .
171171 target : dev
@@ -187,10 +187,10 @@ jobs:
187187 fail-fast : false
188188 matrix :
189189 os :
190- - ubuntu-latest
190+ - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
191191 - macos-13
192192 ocaml-compiler :
193- - ocaml-variants.4.14.0 +options,ocaml-option-flambda # matches opam lock file
193+ - ocaml-variants.4.14.2 +options,ocaml-option-flambda # matches opam lock file
194194
195195 runs-on : ${{ matrix.os }}
196196
@@ -199,13 +199,12 @@ jobs:
199199 uses : actions/checkout@v4
200200
201201 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
202- uses : ocaml/setup-ocaml@v2
202+ uses : ocaml/setup-ocaml@v3
203203 with :
204204 ocaml-compiler : ${{ matrix.ocaml-compiler }}
205- opam-depext-flags : --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
206205
207206 - name : Install graph-easy # TODO: remove if depext --with-test works
208- if : ${{ matrix.os == 'ubuntu-latest ' }}
207+ if : ${{ matrix.os == 'ubuntu-22.04 ' }}
209208 run : sudo apt install -y libgraph-easy-perl
210209
211210 - name : Install Goblint with test
@@ -252,3 +251,49 @@ jobs:
252251
253252 - name : Test incremental regression with cfg comparison
254253 run : ruby scripts/update_suite.rb -c
254+
255+ gobview :
256+ strategy :
257+ fail-fast : false
258+ matrix :
259+ os :
260+ - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
261+ ocaml-compiler :
262+ - ocaml-variants.5.0.0+options,ocaml-option-flambda
263+ node-version :
264+ - 14
265+
266+ runs-on : ${{ matrix.os }}
267+
268+ steps :
269+ - name : Checkout code
270+ uses : actions/checkout@v4
271+
272+ - name : Set up OCaml ${{ matrix.ocaml-compiler }}
273+ uses : ocaml/setup-ocaml@v3
274+ with :
275+ ocaml-compiler : ${{ matrix.ocaml-compiler }}
276+
277+ - name : Set up Node.js ${{ matrix.node-version }}
278+ uses : actions/setup-node@v4
279+ with :
280+ node-version : ${{ matrix.node-version }}
281+
282+ - name : Install dependencies
283+ run : opam install . --deps-only
284+
285+ - name : Setup Gobview
286+ run : ./make.sh setup_gobview
287+
288+ - name : Build
289+ run : ./make.sh nat
290+
291+ - name : Build Gobview
292+ run : ./make.sh view
293+
294+ - name : Install selenium
295+ run : pip3 install selenium webdriver-manager
296+
297+ - name : Test Gobview
298+ run : |
299+ python3 scripts/test-gobview.py
0 commit comments