image: ralfjung/opam-ci:latest stages: - build variables: CPU_CORES: "10" .template: &template stage: build tags: - fp script: # prepare - . build/opam-ci.sh $OPAM_PINS - env | egrep '^(CI_BUILD_REF|CI_RUNNER)' > build-env.txt # build - 'time make -k -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_/-]+ \((real|user): [0-9]" | tee build-time.txt' # maybe validate - 'if [[ -n "$VALIDATE" ]]; then make validate; fi' # maybe generate and upload doc (has to be in this job as we need coq installed) - 'if [[ -n "$DOCDIR" && "$CI_COMMIT_REF_NAME" == master ]]; then build/coqdoc; fi' # maybe create opam package - 'if [[ -n "$OPAM_PKG" && "$CI_COMMIT_REF_NAME" == master ]]; then curl --fail -X POST -F "token=$OPAM_UPDATE_SECRET" -F "ref=master" -F "variables[REPO]=$CI_PROJECT_URL.git" -F "variables[REF]=$CI_COMMIT_REF_NAME" -F "variables[SHA]=$CI_COMMIT_SHA" -F "variables[NAME]=$OPAM_PKG" https://gitlab.mpi-sws.org/api/v4/projects/581/trigger/pipeline; fi' cache: key: "$CI_JOB_NAME" paths: - opamroot/ only: - master - /^ci/ except: - triggers ## Build jobs build-coq.dev: <<: *template variables: OPAM_PINS: "coq version dev" VALIDATE: "1" build-coq.8.8.dev: <<: *template variables: OPAM_PINS: "coq version 8.8.dev" VALIDATE: "1" build-coq.8.7.2: <<: *template variables: OPAM_PINS: "coq version 8.7.2" OPAM_PKG: "coq-stdpp" DOCDIR: "coqdoc@center.mpi-sws.org:/stdpp" tags: - fp-timing artifacts: paths: - build-time.txt - build-env.txt build-coq.8.7.1: <<: *template variables: OPAM_PINS: "coq version 8.7.1" build-coq.8.7.0: <<: *template variables: OPAM_PINS: "coq version 8.7.0" build-coq.8.6.1: <<: *template variables: OPAM_PINS: "coq version 8.6.1" build-coq.8.6.0: <<: *template variables: OPAM_PINS: "coq version 8.6"