Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to OCaml 5.0 as default #1137

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used

runs-on: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used

runs-on: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/indentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- 4.14.x
- 5.0.x

runs-on: ${{ matrix.os }}

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/locked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- ubuntu-latest
- macos-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -132,7 +132,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used
node-version:
- 14
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/unlocked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ jobs:
- ubuntu-latest
- macos-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda
- ocaml-variants.5.0.0+options,ocaml-option-flambda
- 5.0.x
- 4.14.x
- 4.13.x
- 4.12.x
Expand All @@ -31,10 +32,10 @@ jobs:

include:
- os: ubuntu-latest
ocaml-compiler: 4.14.x
ocaml-compiler: 5.0.x
z3: true
- os: ubuntu-latest
ocaml-compiler: 5.0.0
ocaml-compiler: 5.0.x
apron: false

# customize name to use readable string for apron instead of just a boolean
Expand Down Expand Up @@ -120,7 +121,7 @@ jobs:
- ubuntu-latest
- macos-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file, downgrade deps step
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file, downgrade deps step

name: lower-bounds (${{ matrix.os }}, ${{ matrix.ocaml-compiler }}, downgrade)

Expand Down Expand Up @@ -155,7 +156,7 @@ jobs:

- name: Downgrade dependencies
# must specify ocaml-base-compiler again to prevent it from being downgraded
run: opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.0+options ocaml-option-flambda)
run: opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.5.0.0+options ocaml-option-flambda)

- name: Build
run: ./make.sh nat
Expand Down Expand Up @@ -240,7 +241,7 @@ jobs:
- ubuntu-latest
- macos-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
- ocaml-variants.5.0.0+options,ocaml-option-flambda # matches opam lock file

runs-on: ${{ matrix.os }}

Expand Down
4 changes: 2 additions & 2 deletions docs/developer-guide/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@

11. Check created _distribution archive_ (in `_build`) in a clean environment:

1. Pull Docker image: `docker pull ocaml/opam:ubuntu-22.04-ocaml-4.14` (or newer).
1. Pull Docker image: `docker pull ocaml/opam:ubuntu-22.04-ocaml-5.0` (or newer).
2. Extract distribution archive.
3. Run Docker container in extracted directory: `docker run -it --rm -v $(pwd):/goblint ocaml/opam:ubuntu-22.04-ocaml-4.14` (or newer).
3. Run Docker container in extracted directory: `docker run -it --rm -v $(pwd):/goblint ocaml/opam:ubuntu-22.04-ocaml-5.0` (or newer).
4. Navigate to distribution archive inside Docker container: `cd /goblint`.
5. Pin package from distribution archive: `opam pin add --no-action .`.
6. Install depexts: `opam depext --with-test goblint`.
Expand Down
2 changes: 0 additions & 2 deletions goblint.opam
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,4 @@ pin-depends: [
[ "goblint-cil.2.0.1" "git+https://github.com/goblint/cil.git#4df989fe625d91ce07d94afe1d85b3b5c6cdd63e" ]
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
# TODO: add back after release, only pinned for CI stability
[ "apron.v0.9.13" "git+https://github.com/antoinemine/apron.git#1a8e91062c0d7d1e80333d19d5a432332bbbaec8"]
]
18 changes: 8 additions & 10 deletions goblint.opam.locked
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ doc: "https://goblint.readthedocs.io/en/latest/"
bug-reports: "https://github.com/goblint/analyzer/issues"
depends: [
"angstrom" {= "0.15.0"}
"apron" {= "v0.9.13"}
"apron" {= "v0.9.14~beta.2"}
"arg-complete" {= "0.1.0"}
"astring" {= "0.8.5"}
"base-bigarray" {= "base"}
"base-bytes" {= "base"}
"base-domains" {= "base"}
"base-nnp" {= "base"}
"base-threads" {= "base"}
"base-unix" {= "base"}
"batteries" {= "3.6.0"}
Expand Down Expand Up @@ -56,22 +58,22 @@ depends: [
"dune-private-libs" {= "3.6.1"}
"dune-site" {= "3.6.1"}
"dyn" {= "3.6.1"}
"fileutils" {= "0.6.4"}
"fmt" {= "0.9.0"}
"fpath" {= "0.7.3"}
"goblint-cil" {= "2.0.1"}
"integers" {= "0.7.0"}
"json-data-encoding" {= "0.12.1"}
"jsonrpc" {= "1.15.0~5.0preview1"}
"fileutils" {= "0.6.4"}
"logs" {= "0.7.0"}
"mlgmpidl" {= "1.2.14"}
"mlgmpidl" {= "1.2.15"}
"num" {= "1.4"}
"ocaml" {= "4.14.0"}
"ocaml-variants" {= "4.14.0+options"}
"ocaml" {= "5.0.0"}
"ocaml-compiler-libs" {= "v0.12.4"}
"ocaml-config" {= "2"}
"ocaml-config" {= "3"}
"ocaml-option-flambda" {= "1"}
"ocaml-syntax-shims" {= "1.0.0"}
"ocaml-variants" {= "5.0.0+options"}
"ocamlbuild" {= "0.14.2"}
"ocamlfind" {= "1.9.5"}
"odoc" {= "2.2.0" & with-doc}
Expand Down Expand Up @@ -131,10 +133,6 @@ pin-depends: [
"goblint-cil.2.0.1"
"git+https://github.com/goblint/cil.git#4df989fe625d91ce07d94afe1d85b3b5c6cdd63e"
]
[
"apron.v0.9.13"
"git+https://github.com/antoinemine/apron.git#1a8e91062c0d7d1e80333d19d5a432332bbbaec8"
]
[
"ppx_deriving.5.2.1"
"git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6"
Expand Down
2 changes: 0 additions & 2 deletions goblint.opam.template
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,4 @@ pin-depends: [
[ "goblint-cil.2.0.1" "git+https://github.com/goblint/cil.git#4df989fe625d91ce07d94afe1d85b3b5c6cdd63e" ]
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
# TODO: add back after release, only pinned for CI stability
[ "apron.v0.9.13" "git+https://github.com/antoinemine/apron.git#1a8e91062c0d7d1e80333d19d5a432332bbbaec8"]
]
2 changes: 1 addition & 1 deletion gobview
2 changes: 1 addition & 1 deletion make.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ opam_setup() {
set -x
opam init -y -a --bare $SANDBOXING # sandboxing is disabled in travis and docker
opam update
opam switch -y create . --deps-only ocaml-variants.4.14.0+options ocaml-option-flambda --locked
opam switch -y create . --deps-only --packages=ocaml-variants.5.0.0+options,ocaml-option-flambda --locked
}

rule() {
Expand Down