diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 98ae47534fff80027b01015af9a521cb6cd4e6fc..a872483466af2925781be3312734852bad029f25 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,30 +5,21 @@ stages:
 
 variables:
   CPU_CORES: "10"
-  GIT_SUBMODULE_STRATEGY: recursive
+  MAIN_BRANCH: "master"
+  GIT_SUBMODULE_STRATEGY: "recursive"
 
 .template: &template
   stage: build
   tags:
   - fp
   script:
-  # prepare
-  - . ci/prepare-opam $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 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'
+  - ci/buildjob
   cache:
     key: "$CI_JOB_NAME"
     paths:
     - opamroot/
   only:
-  - master
+  - "$MAIN_BRANCH"
   - /^ci/
   except:
   - triggers
@@ -47,12 +38,10 @@ build-coq.8.7.2:
   variables:
     OPAM_PINS: "coq version 8.7.2   coq-mathcomp-ssreflect version 1.6.4"
     OPAM_PKG: "coq-iris"
+    TIMING_PROJECT: "iris"
+    TIMING_CONF: "coq-8.7.2"
   tags:
   - fp-timing
-  artifacts:
-    paths:
-    - build-time.txt
-    - build-env.txt
 
 build-coq.8.7.1:
   <<: *template
diff --git a/benchmark/export.py b/benchmark/export.py
index c3269c2426edce4352229ae94603fc83b3c46b21..54c336ca712e20378ff0bd873a8c3064eaf00d8a 100755
--- a/benchmark/export.py
+++ b/benchmark/export.py
@@ -45,6 +45,6 @@ for datapoint in results:
     print("Sending {}...".format(commit), end='')
     date = subprocess.check_output(['git', 'show', commit, '-s', '--pretty=%cI']).strip().decode('UTF-8')
     headers = {'X-Project': args.project, 'X-Branch': args.branch, 'X-Commit': commit, 'X-Config': args.config, 'X-Date': date}
-    r = requests.post(args.server+"/build_times_8.6", data=times, headers=headers, auth=(args.user, args.password))
+    r = requests.post(args.server+"/build_times", data=times, headers=headers, auth=(args.user, args.password))
     print(" {}".format(r.text.strip()))
     r.raise_for_status()
diff --git a/ci b/ci
index 799685e2c96af0e3c0a39e4584633affe55df051..60286c6bb8a9f9ec21f0097530ccd39c9fc44930 160000
--- a/ci
+++ b/ci
@@ -1 +1 @@
-Subproject commit 799685e2c96af0e3c0a39e4584633affe55df051
+Subproject commit 60286c6bb8a9f9ec21f0097530ccd39c9fc44930