Skip to content

Commit 4b5e3d9

Browse files
committed
Merge branch 'master' into interactive
2 parents 26aa6b7 + 3a189a9 commit 4b5e3d9

File tree

23 files changed

+1943
-92
lines changed

23 files changed

+1943
-92
lines changed

.devcontainer/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# just -opam tag because make setup will install ocaml compiler
2-
FROM ocaml/opam:ubuntu-21.04-opam AS dev
2+
FROM ocaml/opam:ubuntu-22.04-opam AS dev
33

44
# TODO: use opam depext
55
RUN sudo apt-get update \
6-
&& sudo apt-get install -y libgmp-dev libmpfr-dev m4 autoconf pkg-config ruby gem curl
6+
&& sudo apt-get install -y libgmp-dev libmpfr-dev m4 autoconf gcc-multilib pkg-config ruby gem curl
77

88
# remove default Docker <[email protected]> git credentials added by opam base image: https://github.com/avsm/ocaml-dockerfile/blob/f184554282a3836bf3f1c34d20e77d0530f8349d/src-opam/dockerfile_linux.ml#L24-L28
99
# this prevents devcontainer from using outside git credentials: https://code.visualstudio.com/docs/remote/containers#_sharing-git-credentials-with-your-container

.github/workflows/locked.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,44 @@ jobs:
5757
- name: Test incremental regression
5858
run: ruby scripts/update_suite.rb -i
5959

60+
extraction:
61+
strategy:
62+
fail-fast: false
63+
matrix:
64+
os:
65+
- ubuntu-latest
66+
ocaml-compiler:
67+
- 4.14.0 # matches opam lock file
68+
# don't add any other because they won't be used
69+
70+
runs-on: ${{ matrix.os }}
71+
72+
steps:
73+
- name: Checkout code
74+
uses: actions/checkout@v3
75+
76+
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
77+
env:
78+
# otherwise setup-ocaml pins non-locked dependencies
79+
# https://github.com/ocaml/setup-ocaml/issues/166
80+
OPAMLOCKED: locked
81+
uses: ocaml/setup-ocaml@v2
82+
with:
83+
ocaml-compiler: ${{ matrix.ocaml-compiler }}
84+
85+
- name: Install spin
86+
run: sudo apt-get -y install spin
87+
88+
- name: Install dependencies
89+
run: opam install . --deps-only --locked --with-test
90+
91+
- name: Build
92+
run: ./make.sh nat
93+
94+
- name: Test extraction
95+
run: cd tests/extraction && ./test.sh
96+
97+
6098
gobview:
6199
strategy:
62100
fail-fast: false

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ doclist.odocl
2222
autom4te.cache
2323
mytests
2424
result/*
25+
pml-result/*
2526
tests/regression/*/goblint_temp
2627
linux-headers
2728

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# dev stage: development environment with opam, ocaml and dependencies
22

33
# just -opam tag because make setup will install ocaml compiler
4-
FROM ocaml/opam:ubuntu-21.04-opam AS dev
4+
FROM ocaml/opam:ubuntu-22.04-opam AS dev
55

66
# copy only files for make setup to cache docker layers without code changes
77
COPY --chown=opam Makefile make.sh goblint.opam goblint.opam.locked /home/opam/analyzer/
88
WORKDIR /home/opam/analyzer/
99
# TODO: use opam depext
1010
RUN sudo apt-get update \
11-
&& sudo apt-get install -y libgmp-dev libmpfr-dev pkg-config autoconf
11+
&& sudo apt-get install -y libgmp-dev libmpfr-dev pkg-config autoconf gcc-multilib
1212
# update local opam repository because base image may be outdated
1313
RUN cd /home/opam/opam-repository \
1414
&& git pull origin master \
@@ -27,12 +27,12 @@ RUN make relocatable
2727

2828

2929
# final stage: minimal run environment for small docker image
30-
FROM ubuntu:21.04
30+
FROM ubuntu:22.04
3131

3232
# cannot use opam depext because no opam here, also additional preprocessing/header dependencies
3333
# libgmp for zarith, libmpfr for apron, cpp for preprocessing, libc6 for pthread.h, libgcc for stddef.h
3434
RUN apt-get update \
35-
&& apt-get install -y libgmp-dev libmpfr-dev cpp libc6-dev libgcc-10-dev \
35+
&& apt-get install -y libgmp-dev libmpfr-dev cpp libc6-dev libc6-dev-i386 libgcc-11-dev lib32gcc-11-dev \
3636
&& rm -rf /var/lib/apt/lists/*
3737
COPY --from=relocatable /home/opam/analyzer/relocatable /opt/goblint/analyzer
3838
ENTRYPOINT ["/opt/goblint/analyzer/bin/goblint"]

0 commit comments

Comments
 (0)