@@ -44,34 +44,30 @@ jobs:
4444
4545 steps :
4646 - name : Checkout code
47- uses : actions/checkout@v4
47+ uses : actions/checkout@v6
4848
4949 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
5050 uses : ocaml/setup-ocaml@v3
5151 with :
5252 ocaml-compiler : ${{ matrix.ocaml-compiler }}
5353
54- - name : Install graph-easy # TODO: remove if depext --with-test works
54+ - name : Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
5555 if : ${{ matrix.os == 'ubuntu-22.04' }}
5656 run : sudo apt install -y libgraph-easy-perl
5757
5858 - name : Install dependencies
5959 run : opam install . --deps-only --with-test
60-
60+
6161 - name : Install os gem for operating system detection
6262 run : sudo gem install os
6363
6464 - name : Install Apron dependencies
6565 if : ${{ matrix.apron }}
66- run : |
67- opam depext apron
68- opam install apron mlgmpidl.1.2.15
66+ run : opam install apron mlgmpidl.1.2.15
6967
7068 - name : Install Z3 dependencies
7169 if : ${{ matrix.z3 }}
72- run : |
73- opam depext z3
74- opam install z3
70+ run : opam install z3
7571
7672 - name : Build
7773 run : ./make.sh nat
@@ -86,35 +82,29 @@ jobs:
8682 run : ruby scripts/update_suite.rb -m
8783
8884 lower-bounds-downgrade :
89- # use external 0install solver to downgrade: https://github.com/ocaml-opam/opam-0install-solver
90- # TODO: will be built in in opam 2.2: https://github.com/ocaml/opam/pull/4909
91-
9285 strategy :
9386 fail-fast : false
9487 matrix :
9588 os :
9689 - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
9790 - macos-13
9891 ocaml-compiler :
99- - ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file, downgrade deps step
92+ - ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
10093
10194 name : lower-bounds (${{ matrix.os }}, ${{ matrix.ocaml-compiler }}, downgrade)
10295
10396 runs-on : ${{ matrix.os }}
10497
105- env :
106- OPAMCONFIRMLEVEL : unsafe-yes # allow opam depext to yes package manager prompts
107-
10898 steps :
10999 - name : Checkout code
110- uses : actions/checkout@v4
100+ uses : actions/checkout@v6
111101
112102 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
113- uses : ocaml/setup-ocaml@v2
103+ uses : ocaml/setup-ocaml@v3
114104 with :
115105 ocaml-compiler : ${{ matrix.ocaml-compiler }}
116106
117- - name : Install graph-easy # TODO: remove if depext --with-test works
107+ - name : Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
118108 if : ${{ matrix.os == 'ubuntu-22.04' }}
119109 run : sudo apt install -y libgraph-easy-perl
120110
@@ -125,21 +115,11 @@ jobs:
125115 run : sudo gem install os
126116
127117 - name : Install Apron dependencies
128- run : |
129- opam depext apron
130- opam install apron mlgmpidl.1.2.15
131-
132- - name : Build
133- if : ${{ false }}
134- run : ./make.sh nat
135-
136- - name : Install opam-0install
137- run : opam install opam-0install
118+ run : opam install apron mlgmpidl.1.2.15
138119
139120 - name : Downgrade dependencies
140- # must specify ocaml-base-compiler again to prevent it from being downgraded
141- # prevent num downgrade to avoid dune/jbuilder error: https://github.com/ocaml/dune/issues/5280
142- run : opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.2+options ocaml-option-flambda num.1.5)
121+ # without "+removed" in criteria, because it also removes optional apron
122+ run : opam install --solver=builtin-0install --criteria="+count[version-lag,solution]" . --deps-only --with-test
143123
144124 - name : Build
145125 run : ./make.sh nat
@@ -153,41 +133,6 @@ jobs:
153133 - name : Test marshal regression # not part of @runtest due to time
154134 run : ruby scripts/update_suite.rb -m
155135
156- lower-bounds-docker :
157- # use builtin-0install solver to remove and downgrade, opam normally compiled without, Docker images have it compiled
158-
159- if : ${{ false }}
160-
161- name : lower-bounds (docker)
162-
163- runs-on : ubuntu-latest
164-
165- steps :
166- - name : Checkout code
167- uses : actions/checkout@v4
168-
169- - name : Set up Docker Buildx
170- uses : docker/setup-buildx-action@v3 # needed for GitHub Actions Cache in build-push-action
171-
172- - name : Build dev Docker image
173- id : build
174- uses : docker/build-push-action@v6
175- with :
176- context : .
177- target : dev
178- load : true # load into docker instead of immediately pushing
179- tags : dev
180- cache-from : type=gha
181- cache-to : type=gha,mode=max # max mode caches all layers for multi-stage image
182-
183- - name : Run opam downgrade and tests in dev Docker image
184- uses : addnab/docker-run-action@v3
185- with :
186- image : dev
187- run : |
188- OPAMCRITERIA=+removed,+count[version-lag,solution] OPAMEXTERNALSOLVER=builtin-0install opam-2.1 install . --deps-only --with-test --confirm-level=unsafe-yes
189- opam exec -- dune runtest
190-
191136 opam-install :
192137 strategy :
193138 fail-fast : false
@@ -202,24 +147,22 @@ jobs:
202147
203148 steps :
204149 - name : Checkout code
205- uses : actions/checkout@v4
150+ uses : actions/checkout@v6
206151
207152 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
208153 uses : ocaml/setup-ocaml@v3
209154 with :
210155 ocaml-compiler : ${{ matrix.ocaml-compiler }}
211156
212- - name : Install graph-easy # TODO: remove if depext --with-test works
157+ - name : Install graph-easy # TODO: remove if depext --with-test works (https://github.com/ocaml/opam/issues/5836)
213158 if : ${{ matrix.os == 'ubuntu-22.04' }}
214159 run : sudo apt install -y libgraph-easy-perl
215160
216161 - name : Install Goblint with test
217162 run : opam install goblint --with-test
218163
219164 - name : Install Apron dependencies
220- run : |
221- opam depext apron
222- opam install apron mlgmpidl.1.2.15
165+ run : opam install apron mlgmpidl.1.2.15
223166
224167 - name : Symlink installed goblint to repository # because tests want to use locally built one
225168 run : ln -s $(opam exec -- which goblint) goblint
@@ -265,23 +208,23 @@ jobs:
265208 os :
266209 - ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
267210 ocaml-compiler :
268- - ocaml-variants.5.0.0+options,ocaml-option-flambda
211+ - ocaml-variants.5.0.0+options,ocaml-option-flambda
269212 node-version :
270213 - 14
271214
272215 runs-on : ${{ matrix.os }}
273216
274217 steps :
275218 - name : Checkout code
276- uses : actions/checkout@v4
219+ uses : actions/checkout@v6
277220
278221 - name : Set up OCaml ${{ matrix.ocaml-compiler }}
279222 uses : ocaml/setup-ocaml@v3
280223 with :
281224 ocaml-compiler : ${{ matrix.ocaml-compiler }}
282225
283226 - name : Set up Node.js ${{ matrix.node-version }}
284- uses : actions/setup-node@v4
227+ uses : actions/setup-node@v6
285228 with :
286229 node-version : ${{ matrix.node-version }}
287230
0 commit comments