Skip to content

Commit b7f2a0a

Browse files
committed
Merge branch 'master' into dune-runtest
2 parents 6b781c4 + f2f5cc1 commit b7f2a0a

Some content is hidden

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

58 files changed

+1009
-107
lines changed

.github/workflows/coverage.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ jobs:
3838
uses: ocaml/setup-ocaml@v2
3939
with:
4040
ocaml-compiler: ${{ matrix.ocaml-compiler }}
41+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
42+
43+
- name: Install graph-easy # TODO: remove if depext --with-test works
44+
if: ${{ matrix.os == 'ubuntu-latest' }}
45+
run: sudo apt install -y libgraph-easy-perl
4146

4247
- name: Install dependencies
4348
run: opam install . --deps-only --locked --with-test

.github/workflows/docs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ name: docs
22

33
on:
44
push:
5-
branches:
6-
- master
5+
pull_request:
76

87
workflow_dispatch:
98

@@ -55,7 +54,7 @@ jobs:
5554
run: opam exec -- dune build @doc
5655

5756
- name: Upload artifact
58-
uses: actions/upload-pages-artifact@v2
57+
uses: actions/upload-pages-artifact@v3
5958
with:
6059
path: _build/default/_doc/_html/
6160

@@ -65,7 +64,8 @@ jobs:
6564
url: ${{ steps.deployment.outputs.page_url }}
6665
runs-on: ubuntu-latest
6766
needs: api-build
67+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
6868
steps:
6969
- name: Deploy to GitHub Pages
7070
id: deployment
71-
uses: actions/deploy-pages@v3
71+
uses: actions/deploy-pages@v4

.github/workflows/locked.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ jobs:
4040
uses: ocaml/setup-ocaml@v2
4141
with:
4242
ocaml-compiler: ${{ matrix.ocaml-compiler }}
43+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
44+
45+
- name: Install graph-easy # TODO: remove if depext --with-test works
46+
if: ${{ matrix.os == 'ubuntu-latest' }}
47+
run: sudo apt install -y libgraph-easy-perl
4348

4449
- name: Install dependencies
4550
run: opam install . --deps-only --locked --with-test
@@ -85,6 +90,11 @@ jobs:
8590
uses: ocaml/setup-ocaml@v2
8691
with:
8792
ocaml-compiler: ${{ matrix.ocaml-compiler }}
93+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
94+
95+
- name: Install graph-easy # TODO: remove if depext --with-test works
96+
if: ${{ matrix.os == 'ubuntu-latest' }}
97+
run: sudo apt install -y libgraph-easy-perl
8898

8999
- name: Install spin
90100
run: sudo apt-get -y install spin
@@ -141,7 +151,7 @@ jobs:
141151
run: ./make.sh nat
142152

143153
- name: Build Gobview
144-
run: opam exec -- dune build gobview
154+
run: ./make.sh view
145155

146156
- name: Install selenium
147157
run: pip3 install selenium webdriver-manager

.github/workflows/unlocked.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ jobs:
4949
uses: ocaml/setup-ocaml@v2
5050
with:
5151
ocaml-compiler: ${{ matrix.ocaml-compiler }}
52+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
53+
54+
- name: Install graph-easy # TODO: remove if depext --with-test works
55+
if: ${{ matrix.os == 'ubuntu-latest' }}
56+
run: sudo apt install -y libgraph-easy-perl
5257

5358
- name: Install dependencies
5459
run: opam install . --deps-only --with-test
@@ -57,7 +62,7 @@ jobs:
5762
if: ${{ matrix.apron }}
5863
run: |
5964
opam depext apron
60-
opam install apron
65+
opam install apron mlgmpidl.1.2.15
6166
6267
- name: Install Z3 dependencies
6368
if: ${{ matrix.z3 }}
@@ -105,14 +110,19 @@ jobs:
105110
uses: ocaml/setup-ocaml@v2
106111
with:
107112
ocaml-compiler: ${{ matrix.ocaml-compiler }}
113+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
114+
115+
- name: Install graph-easy # TODO: remove if depext --with-test works
116+
if: ${{ matrix.os == 'ubuntu-latest' }}
117+
run: sudo apt install -y libgraph-easy-perl
108118

109119
- name: Install dependencies
110120
run: opam install . --deps-only --with-test
111121

112122
- name: Install Apron dependencies
113123
run: |
114124
opam depext apron
115-
opam install apron
125+
opam install apron mlgmpidl.1.2.15
116126
117127
- name: Build
118128
if: ${{ false }}
@@ -193,14 +203,19 @@ jobs:
193203
uses: ocaml/setup-ocaml@v2
194204
with:
195205
ocaml-compiler: ${{ matrix.ocaml-compiler }}
206+
opam-depext-flags: --with-test # doesn't work (https://github.com/ocaml/opam/issues/5836)
207+
208+
- name: Install graph-easy # TODO: remove if depext --with-test works
209+
if: ${{ matrix.os == 'ubuntu-latest' }}
210+
run: sudo apt install -y libgraph-easy-perl
196211

197212
- name: Install Goblint with test
198213
run: opam install goblint --with-test
199214

200215
- name: Install Apron dependencies
201216
run: |
202217
opam depext apron
203-
opam install apron
218+
opam install apron mlgmpidl.1.2.15
204219
205220
- name: Symlink installed goblint to repository # because tests want to use locally built one
206221
run: ln -s $(opam exec -- which goblint) goblint

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ goblint
1010
goblint.byte
1111
goblint.json
1212
goblint.domaintest
13+
goblint_http.exe
1314
src/config*.ml
1415
tests/bench.txt
1516
.DS_Store

docs/user-guide/inspecting.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ For the initial setup:
1818

1919
To build GobView (also for development):
2020

21-
1. Run `dune build gobview` in the analyzer directory to build the web UI
22-
2. The executable for the http-server can then be found in the directory `./_build/default/gobview/goblint-http-server`. It takes the analyzer directory and additional Goblint configurations such as the files to be analyzed as parameters. Run it e.g. with the following command:\
23-
`./_build/default/gobview/goblint-http-server/goblint_http.exe -with-goblint ../analyzer/goblint -goblint --set files[+] "../analyzer/tests/regression/00-sanity/01-assert.c"`
24-
25-
4. Visit <http://localhost:8080>
21+
1. Run `make view` in the analyzer directory to build the web UI
22+
2. The executable `goblint_http.exe` takes the analyzer directory and additional Goblint configurations such as the files to be analyzed as parameters. Run it e.g. with the following command:\
23+
`./goblint_http.exe tests/regression/00-sanity/01-assert.c`
24+
3. Visit <http://localhost:8080>
2625

2726
## Witnesses
2827

dune-project

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
)
6060
(conflicts
6161
(result (< 1.5)) ; transitive dependency, overrides standard Result module and doesn't have map_error, bind
62+
(ez-conf-lib (= 1)) ; https://github.com/nberth/ez-conf-lib/issues/3
6263
)
6364
(sites
6465
(share lib)

goblint.opam

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ depends: [
5454
depopts: ["apron" "z3"]
5555
conflicts: [
5656
"result" {< "1.5"}
57+
"ez-conf-lib" {= "1"}
5758
]
5859
build: [
5960
["dune" "subst"] {dev}
@@ -77,10 +78,13 @@ dev-repo: "git+https://github.com/goblint/analyzer.git"
7778
available: os-distribution != "alpine" & arch != "arm64"
7879
pin-depends: [
7980
# published goblint-cil 2.0.3 is currently up-to-date, so no pin needed
80-
[ "goblint-cil.2.0.3" "git+https://github.com/goblint/cil.git#3cb720fe333289aca998d67bd210c57a87248c51" ]
81+
[ "goblint-cil.2.0.3" "git+https://github.com/goblint/cil.git#833378d9102578bab7b62174cb029d385db417a5" ]
8182
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
8283
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
8384
]
85+
depexts: [
86+
["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test}
87+
]
8488
post-messages: [
8589
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}
8690
]

goblint.opam.locked

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ dev-repo: "git+https://github.com/goblint/analyzer.git"
125125
available: os-distribution != "alpine" & arch != "arm64"
126126
conflicts: [
127127
"result" {< "1.5"}
128+
"ez-conf-lib" {= "1"}
128129
]
129130
post-messages: [
130131
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}
@@ -133,10 +134,11 @@ post-messages: [
133134
pin-depends: [
134135
[
135136
"goblint-cil.2.0.3"
136-
"git+https://github.com/goblint/cil.git#3cb720fe333289aca998d67bd210c57a87248c51"
137+
"git+https://github.com/goblint/cil.git#833378d9102578bab7b62174cb029d385db417a5"
137138
]
138139
[
139140
"ppx_deriving.5.2.1"
140141
"git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6"
141142
]
142143
]
144+
depexts: ["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test}

goblint.opam.template

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
available: os-distribution != "alpine" & arch != "arm64"
44
pin-depends: [
55
# published goblint-cil 2.0.3 is currently up-to-date, so no pin needed
6-
[ "goblint-cil.2.0.3" "git+https://github.com/goblint/cil.git#3cb720fe333289aca998d67bd210c57a87248c51" ]
6+
[ "goblint-cil.2.0.3" "git+https://github.com/goblint/cil.git#833378d9102578bab7b62174cb029d385db417a5" ]
77
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
88
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
99
]
10+
depexts: [
11+
["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test}
12+
]
1013
post-messages: [
1114
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}
1215
]

0 commit comments

Comments
 (0)