diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29e99c729d6d41258e38cfb1058fe7ecbac0dbfa..66d3a527b8d3da4cef1c61bbe7b6e5b96026ebe1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,3 +12,28 @@ tests: - make test tags: - docker + +# generate static binary +generate-static: + stage: build + # ocaml/opam:alpine-ocaml-4.12 + image: ocaml/opam@sha256:6cf1b7f60ae67190d1d85dbedabd6d845e3f0b21944386bdbe894fc28273f4e6 + script: + - eval `opam config env` + - sed -e "s/; FOR STATIC//" -i src_colibri2/bin/dune + - opam pin --no-action . + - opam depext colibri2 + - opam install --deps-only . + - opam depext --install why3 core jingoo yojson logs core # For generation not done in release mode + - opam depext --install ounit2 # For tests move to opam file? + - make + - make test + - dune install --destdir=destdir + - ldd destdir/bin/colibri2 + tags: + - docker +# rules: +# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + artifacts: + paths: + - destdir/bin/colibri2 diff --git a/src_colibri2/bin/dune b/src_colibri2/bin/dune index f7ed4a1c14cd1624572d99f68342ee84db4269ca..6573124a6f392d7c78b106fbb1a3255192723f3b 100644 --- a/src_colibri2/bin/dune +++ b/src_colibri2/bin/dune @@ -46,7 +46,9 @@ (name colibri2_stage1) ; (public_name colibri2) ; (package colibri2) - (flags -linkall) + (flags -linkall + ; FOR STATIC -ccopt -static + ) (libraries colibri2_main colibri2.theories.LRA.stages.stage1) (modules colibri2_stage1))