Skip to content

Commit 55acbb0

Browse files
committed
Merge branch 'master' into violation_witnesses
2 parents 0604c03 + a5bee96 commit 55acbb0

File tree

294 files changed

+7322
-3432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+7322
-3432
lines changed

.git-blame-ignore-revs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,9 @@ c3e2cc848479ae86de5542b6ab0e75a74e9cf8c9
4040

4141
# Rename ctx -> man
4242
0c155e68607fede6fab17704a9a7aee38df5408e
43+
44+
# Trim trailing whitespace in BitfieldDomain
45+
d4e2a5f84ed3b7fbff89e34b2f7833de975e0671
46+
47+
# Fix BaseInvariant indentation
48+
15e7a7ebd34e9fabdd4129e97eb86830fea8395f

.github/workflows/coverage.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828

2929
steps:
3030
- name: Checkout code
31-
uses: actions/checkout@v4
31+
uses: actions/checkout@v5
3232

3333
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
3434
env:
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
ocaml-compiler: ${{ matrix.ocaml-compiler }}
4141

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

@@ -48,7 +48,7 @@ jobs:
4848

4949
- name: Install os gem for operating system detection
5050
run: sudo gem install os
51-
51+
5252
- name: Install coverage dependencies
5353
run: opam install bisect_ppx
5454

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
steps:
3737
- name: Checkout code
38-
uses: actions/checkout@v4
38+
uses: actions/checkout@v5
3939

4040
- name: Set up Docker Buildx
4141
uses: docker/setup-buildx-action@v3 # needed for GitHub Actions Cache in build-push-action

.github/workflows/docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
steps:
2727
- name: Checkout code
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929

3030
- name: Check for undocumented modules
3131
run: python scripts/goblint-lib-modules.py
@@ -50,7 +50,7 @@ jobs:
5050
run: opam exec -- dune build @doc
5151

5252
- name: Upload artifact
53-
uses: actions/upload-pages-artifact@v3
53+
uses: actions/upload-pages-artifact@v4
5454
with:
5555
path: _build/default/_doc/_html/
5656

.github/workflows/indentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
steps:
2222
- name: Checkout code
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v5
2424
with:
2525
fetch-depth: 0
2626

.github/workflows/locked.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030

3131
steps:
3232
- name: Checkout code
33-
uses: actions/checkout@v4
33+
uses: actions/checkout@v5
3434

3535
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
3636
env:
@@ -41,7 +41,7 @@ jobs:
4141
with:
4242
ocaml-compiler: ${{ matrix.ocaml-compiler }}
4343

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

@@ -82,7 +82,7 @@ jobs:
8282

8383
steps:
8484
- name: Checkout code
85-
uses: actions/checkout@v4
85+
uses: actions/checkout@v5
8686

8787
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
8888
env:
@@ -93,7 +93,7 @@ jobs:
9393
with:
9494
ocaml-compiler: ${{ matrix.ocaml-compiler }}
9595

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

.github/workflows/metadata.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
steps:
2121
- name: Checkout code
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@v5
2323

2424
- name: Validate CITATION.cff
2525
uses: docker://citationcff/cffconvert:latest
@@ -39,10 +39,10 @@ jobs:
3939

4040
steps:
4141
- name: Checkout code
42-
uses: actions/checkout@v4
42+
uses: actions/checkout@v5
4343

4444
- name: Set up Node.js ${{ matrix.node-version }}
45-
uses: actions/setup-node@v4
45+
uses: actions/setup-node@v5
4646
with:
4747
node-version: ${{ matrix.node-version }}
4848

.github/workflows/options.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515

1616
steps:
1717
- name: Checkout code
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v5
1919

2020
- name: Set up Node.js ${{ matrix.node-version }}
21-
uses: actions/setup-node@v4
21+
uses: actions/setup-node@v5
2222
with:
2323
node-version: ${{ matrix.node-version }}
2424

.github/workflows/semgrep.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ jobs:
1616

1717
steps:
1818
- name: Checkout code
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v5
2020

2121
- name: Run semgrep
2222
run: semgrep scan --config .semgrep/ --sarif > semgrep.sarif
2323

2424
- name: Upload SARIF file to GitHub Advanced Security Dashboard
25-
uses: github/codeql-action/upload-sarif@v3
25+
uses: github/codeql-action/upload-sarif@v4
2626
with:
2727
sarif_file: semgrep.sarif
2828
if: always()

.github/workflows/unlocked.yml

Lines changed: 18 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -44,34 +44,30 @@ jobs:
4444

4545
steps:
4646
- name: Checkout code
47-
uses: actions/checkout@v4
47+
uses: actions/checkout@v5
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@v5
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@v5
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@v5
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@v5
285228
with:
286229
node-version: ${{ matrix.node-version }}
287230

0 commit comments

Comments
 (0)