diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a458e26467033fb89fd191003fc7f1a3edfec63..46f5c7fa5197144bab75fce69943332bc02f284e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,17 @@ image: ralfjung/opam-ci:latest +variables: + CPU_CORES: "9" + iris-coq8.6: tags: - - coq + - fp-timing script: # prepare - . build/opam-ci.sh coq 8.6 coq-mathcomp-ssreflect 1.6.1 + - env | egrep '^(CI_BUILD_REF|CI_RUNNER)' > build-env.txt # build - - 'time make -j8 TIMED=y 2>&1 | tee build-log.txt' + - 'time make -j$CPU_CORES TIMED=y 2>&1 | tee build-log.txt' - 'if fgrep Axiom build-log.txt >/dev/null; then exit 1; fi' - 'cat build-log.txt | egrep "[a-zA-Z0-9_/-]+ \(user: [0-9]" | tee build-time.txt' - 'if (( RANDOM % 10 == 0 )); then make validate; fi' @@ -22,3 +26,4 @@ iris-coq8.6: artifacts: paths: - build-time.txt + - build-env.txt diff --git a/build/opam-ci.sh b/build/opam-ci.sh index c4189bab6cf3199a00526ea958918c909cfd23d5..324e5a8711b4ea19671f0016f027d7d9e5c70046 100755 --- a/build/opam-ci.sh +++ b/build/opam-ci.sh @@ -4,16 +4,19 @@ set -e # Prepare OPAM configuration export OPAMROOT="$(pwd)/opamroot" -export OPAMJOBS=16 +export OPAMJOBS="$((2*$CPU_CORES))" export OPAM_EDITOR="$(which false)" # Make sure we got a good OPAM test -d "$OPAMROOT" || (mkdir "$OPAMROOT" && opam init --no-setup -y) eval `opam conf env` +if test $(find "$OPAMROOT/repo/package-index" -mtime 1); then + # last update was more than a day ago + opam update +fi test -d "$OPAMROOT/repo/coq-extra-dev" || opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev -p 5 test -d "$OPAMROOT/repo/coq-core-dev" || opam repo add coq-core-dev https://coq.inria.fr/opam/core-dev -p 5 test -d "$OPAMROOT/repo/coq-released" || opam repo add coq-released https://coq.inria.fr/opam/released -p 10 -opam update # Install fixed versions of some dependencies echo