Skip to content

Commit 40496f3

Browse files
committed
Merge branch 'master' into aktsp
2 parents 10c1be6 + 1387afc commit 40496f3

File tree

942 files changed

+39234
-14809
lines changed

Some content is hidden

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

942 files changed

+39234
-14809
lines changed

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ c3e2cc848479ae86de5542b6ab0e75a74e9cf8c9
3737

3838
# Fix LibraryFunctions.invalidate_actions indentation
3939
5662024232f32fe74dd25c9317dee4436ecb212d
40+
41+
# Rename ctx -> man
42+
0c155e68607fede6fab17704a9a7aee38df5408e

.gitattributes

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# GitHub repository language overrides
2+
# https://github.com/github-linguist/linguist/blob/main/docs/overrides.md
3+
4+
# currently only dune-project is classified: https://github.com/github-linguist/linguist/pull/7126
5+
dune linguist-language=dune
6+
dune.inc linguist-language=dune
7+
8+
# avoid misclassification as Standard ML
9+
*.ml linguist-language=ocaml
10+
*.mli linguist-language=ocaml
11+
12+
# cram tests are classified as Raku/Terra/Turing, cram isn't separate language so consider them also dune
13+
*.t linguist-language=dune

.github/workflows/coverage.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
os:
19-
- ubuntu-latest
19+
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
2020
ocaml-compiler:
21-
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
21+
- 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
2323

2424
runs-on: ${{ matrix.os }}
@@ -35,13 +35,12 @@ jobs:
3535
# otherwise setup-ocaml pins non-locked dependencies
3636
# https://github.com/ocaml/setup-ocaml/issues/166
3737
OPAMLOCKED: locked
38-
uses: ocaml/setup-ocaml@v2
38+
uses: ocaml/setup-ocaml@v3
3939
with:
4040
ocaml-compiler: ${{ matrix.ocaml-compiler }}
41-
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
4241

4342
- name: Install graph-easy # TODO: remove if depext --with-test works
44-
if: ${{ matrix.os == 'ubuntu-latest' }}
43+
if: ${{ matrix.os == 'ubuntu-22.04' }}
4544
run: sudo apt install -y libgraph-easy-perl
4645

4746
- name: Install dependencies

.github/workflows/docker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
6060
- name: Build Docker image
6161
id: build
62-
uses: docker/build-push-action@v5
62+
uses: docker/build-push-action@v6
6363
with:
6464
context: .
6565
load: true # load into docker instead of immediately pushing
@@ -72,7 +72,7 @@ jobs:
7272
run: docker run --rm -v $(pwd):/data ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} /data/tests/regression/04-mutex/01-simple_rc.c # run image by version in case multiple tags
7373

7474
- name: Push Docker image
75-
uses: docker/build-push-action@v5
75+
uses: docker/build-push-action@v6
7676
with:
7777
context: .
7878
push: true

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
strategy:
1717
matrix:
1818
os:
19-
- ubuntu-latest
19+
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
2020
ocaml-compiler:
21-
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
21+
- 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
2323

2424
runs-on: ${{ matrix.os }}
@@ -35,7 +35,7 @@ jobs:
3535
# otherwise setup-ocaml pins non-locked dependencies
3636
# https://github.com/ocaml/setup-ocaml/issues/166
3737
OPAMLOCKED: locked
38-
uses: ocaml/setup-ocaml@v2
38+
uses: ocaml/setup-ocaml@v3
3939
with:
4040
ocaml-compiler: ${{ matrix.ocaml-compiler }}
4141

.github/workflows/indentation.yml

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

@@ -25,7 +25,7 @@ jobs:
2525
fetch-depth: 0
2626

2727
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
28-
uses: ocaml/setup-ocaml@v2
28+
uses: ocaml/setup-ocaml@v3
2929
with:
3030
ocaml-compiler: ${{ matrix.ocaml-compiler }}
3131

.github/workflows/locked.yml

Lines changed: 8 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
os:
20-
- ubuntu-latest
20+
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
2121
- macos-13
2222
ocaml-compiler:
23-
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
23+
- 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
2525

2626
runs-on: ${{ matrix.os }}
@@ -37,13 +37,12 @@ jobs:
3737
# otherwise setup-ocaml pins non-locked dependencies
3838
# https://github.com/ocaml/setup-ocaml/issues/166
3939
OPAMLOCKED: locked
40-
uses: ocaml/setup-ocaml@v2
40+
uses: ocaml/setup-ocaml@v3
4141
with:
4242
ocaml-compiler: ${{ matrix.ocaml-compiler }}
43-
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
4443

4544
- name: Install graph-easy # TODO: remove if depext --with-test works
46-
if: ${{ matrix.os == 'ubuntu-latest' }}
45+
if: ${{ matrix.os == 'ubuntu-22.04' }}
4746
run: sudo apt install -y libgraph-easy-perl
4847

4948
- name: Install dependencies
@@ -71,9 +70,9 @@ jobs:
7170
fail-fast: false
7271
matrix:
7372
os:
74-
- ubuntu-latest
73+
- ubuntu-22.04 # https://github.com/ocaml/setup-ocaml/issues/872
7574
ocaml-compiler:
76-
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
75+
- ocaml-variants.4.14.2+options,ocaml-option-flambda # matches opam lock file
7776
# don't add any other because they won't be used
7877

7978
runs-on: ${{ matrix.os }}
@@ -87,13 +86,12 @@ jobs:
8786
# otherwise setup-ocaml pins non-locked dependencies
8887
# https://github.com/ocaml/setup-ocaml/issues/166
8988
OPAMLOCKED: locked
90-
uses: ocaml/setup-ocaml@v2
89+
uses: ocaml/setup-ocaml@v3
9190
with:
9291
ocaml-compiler: ${{ matrix.ocaml-compiler }}
93-
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
9492

9593
- name: Install graph-easy # TODO: remove if depext --with-test works
96-
if: ${{ matrix.os == 'ubuntu-latest' }}
94+
if: ${{ matrix.os == 'ubuntu-22.04' }}
9795
run: sudo apt install -y libgraph-easy-perl
9896

9997
- name: Install spin
@@ -107,55 +105,3 @@ jobs:
107105

108106
- name: Test extraction
109107
run: opam exec -- dune runtest tests/extraction
110-
111-
112-
gobview:
113-
strategy:
114-
fail-fast: false
115-
matrix:
116-
os:
117-
- ubuntu-latest
118-
ocaml-compiler:
119-
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
120-
# don't add any other because they won't be used
121-
node-version:
122-
- 14
123-
124-
runs-on: ${{ matrix.os }}
125-
126-
steps:
127-
- name: Checkout code
128-
uses: actions/checkout@v4
129-
130-
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
131-
env:
132-
# otherwise setup-ocaml pins non-locked dependencies
133-
# https://github.com/ocaml/setup-ocaml/issues/166
134-
OPAMLOCKED: locked
135-
uses: ocaml/setup-ocaml@v2
136-
with:
137-
ocaml-compiler: ${{ matrix.ocaml-compiler }}
138-
139-
- name: Set up Node.js ${{ matrix.node-version }}
140-
uses: actions/setup-node@v4
141-
with:
142-
node-version: ${{ matrix.node-version }}
143-
144-
- name: Install dependencies
145-
run: opam install . --deps-only --locked
146-
147-
- name: Setup Gobview
148-
run: ./make.sh setup_gobview
149-
150-
- name: Build
151-
run: ./make.sh nat
152-
153-
- name: Build Gobview
154-
run: ./make.sh view
155-
156-
- name: Install selenium
157-
run: pip3 install selenium webdriver-manager
158-
159-
- name: Test Gobview
160-
run: |
161-
python3 scripts/test-gobview.py

.github/workflows/unlocked.yml

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -30,9 +30,11 @@ jobs:
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

Comments
 (0)