summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDavid Eichmann <EichmannD@gmail.com>2019-01-22 09:57:23 -0500
committerBen Gamari <ben@smart-cactus.org>2019-01-30 10:06:31 -0500
commitcc2261d42f6a954d88e355aaad41f001f65c95da (patch)
treec555df5cf2a443ff4103152d9df561da6a6cce72 /.gitlab-ci.yml
parent513a449c9dd10887d6dc757d55286749b2594b09 (diff)
downloadhaskell-cc2261d42f6a954d88e355aaad41f001f65c95da.tar.gz
Performance tests: recover a baseline from ancestor commits and CI results.
gitlab-ci: push performance metrics as git notes to the "GHC Performance Notes" repository.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml30
1 files changed, 29 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2478d0dee6..389906eeca 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,6 +6,7 @@ before_script:
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
+ - "git fetch origin refs/notes/perf:refs/notes/ci/perf || true"
stages:
- lint
@@ -75,6 +76,7 @@ validate-x86_64-linux-deb8-hadrian:
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
+ - "git fetch origin refs/notes/perf:refs/notes/ci/perf || true"
tags:
- x86_64-linux
@@ -97,8 +99,16 @@ validate-x86_64-linux-deb8-hadrian:
make binary-dist TAR_COMP_OPTS="-1"
mv ghc-*.tar.xz ghc.tar.xz
- |
+ # Prepare to push git notes.
+ METRICS_FILE=$(mktemp)
+ git config user.email "ben+ghc-ci@smart-cactus.org"
+ git config user.name "GHC GitLab CI"
+ - |
THREADS=`mk/detect-cpu-count.sh`
- make $TEST_TYPE THREADS=$THREADS JUNIT_FILE=../../junit.xml
+ make $TEST_TYPE THREADS=$THREADS JUNIT_FILE=../../junit.xml METRICS_FILE=$METRICS_FILE
+ - |
+ # Push git notes.
+ METRICS_FILE=$METRICS_FILE .gitlab/push-test-metrics.sh
dependencies: []
artifacts:
reports:
@@ -120,12 +130,14 @@ validate-x86_64-darwin:
ac_cv_func_clock_gettime: "no"
LANG: "en_US.UTF-8"
CONFIGURE_ARGS: --with-intree-gmp
+ TEST_ENV: "x86_64-darwin"
before_script:
- git clean -xdf && git submodule foreach git clean -xdf
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
+ - "git fetch origin refs/notes/perf:refs/notes/ci/perf || true"
- bash .gitlab/darwin-init.sh
- PATH="`pwd`/toolchain/bin:$PATH"
@@ -150,6 +162,7 @@ validate-x86_64-darwin:
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
+ - "git fetch origin refs/notes/perf:refs/notes/ci/perf || true"
- bash .circleci/prepare-system.sh
# workaround for docker permissions
@@ -167,6 +180,8 @@ validate-aarch64-linux-deb9:
stage: full-build
image: ghcci/aarch64-linux-deb9:0.1
allow_failure: true
+ variables:
+ TEST_ENV: "aarch64-linux-deb9"
artifacts:
when: always
expire_in: 2 week
@@ -191,6 +206,8 @@ validate-i386-linux-deb9:
stage: full-build
image: ghcci/i386-linux-deb9:0.1
allow_failure: true
+ variables:
+ TEST_ENV: "i386-linux-deb9"
artifacts:
when: always
expire_in: 2 week
@@ -204,6 +221,7 @@ nightly-i386-linux-deb9:
allow_failure: true
variables:
TEST_TYPE: slowtest
+ TEST_ENV: "i386-linux-deb9"
artifacts:
when: always
expire_in: 2 week
@@ -217,6 +235,8 @@ validate-x86_64-linux-deb9:
extends: .validate-linux
stage: build
image: ghcci/x86_64-linux-deb9:0.2
+ variables:
+ TEST_ENV: "x86_64-linux-deb9"
artifacts:
when: always
expire_in: 2 week
@@ -241,6 +261,7 @@ validate-x86_64-linux-deb9-llvm:
image: ghcci/x86_64-linux-deb9:0.2
variables:
BUILD_FLAVOUR: perf-llvm
+ TEST_ENV: "x86_64-linux-deb9-llvm"
cache:
key: linux-x86_64-deb9
@@ -248,6 +269,8 @@ validate-x86_64-linux-deb8:
extends: .validate-linux
stage: full-build
image: ghcci/x86_64-linux-deb8:0.1
+ variables:
+ TEST_ENV: "x86_64-linux-deb8"
cache:
key: linux-x86_64-deb8
artifacts:
@@ -258,6 +281,8 @@ validate-x86_64-linux-fedora27:
extends: .validate-linux
stage: full-build
image: ghcci/x86_64-linux-fedora27:0.1
+ variables:
+ TEST_ENV: "x86_64-linux-fedora27"
cache:
key: linux-x86_64-fedora27
artifacts:
@@ -269,6 +294,7 @@ validate-x86_64-linux-deb9-integer-simple:
stage: full-build
variables:
INTEGER_LIBRARY: integer-simple
+ TEST_ENV: "x86_64-linux-deb9-integer-simple"
image: ghcci/x86_64-linux-deb9:0.2
cache:
key: linux-x86_64-deb9
@@ -289,6 +315,7 @@ validate-x86_64-linux-deb9-unreg:
stage: full-build
variables:
CONFIGURE_ARGS: --enable-unregisterised
+ TEST_ENV: "x86_64-linux-deb9-unreg"
image: ghcci/x86_64-linux-deb9:0.2
cache:
key: linux-x86_64-deb9
@@ -314,6 +341,7 @@ validate-x86_64-linux-deb9-unreg:
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
+ - "git fetch origin refs/notes/perf:refs/notes/ci/perf || true"
- bash .gitlab/win32-init.sh
after_script:
- rd /s /q tmp