summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-03-21 01:42:27 -0400
committerBen Gamari <ben@smart-cactus.org>2019-06-17 10:20:32 -0400
commit24afbfe9aacbb3f6a5cec8875ab100f0dfbe1bf8 (patch)
tree5861a0837873388ac1739a1b551a3b2ed7014475 /.gitlab-ci.yml
parentbb141114ad4e4eb6db66e212fa08d93257b99bbc (diff)
downloadhaskell-24afbfe9aacbb3f6a5cec8875ab100f0dfbe1bf8.tar.gz
gitlab-ci: Run nofib on binary distributionswip/run-nofib
Updates docker images to ensure that the `time` utility is available.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml47
1 files changed, 44 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 99f9377025..648e380f45 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ variables:
GIT_SSL_NO_VERIFY: "1"
# Commit of ghc/ci-images repository from which to pull Docker images
- DOCKER_REV: 88e952f165f48cfb956ac9a2486a9263aa4f777c
+ DOCKER_REV: e517150438cd9df9564fb91adc4b42e2667b2bc1
# Sequential version number capturing the versions of all tools fetched by
# .gitlab/win32-init.sh.
@@ -24,7 +24,7 @@ stages:
- full-build # Build all the things
- cleanup # See Note [Cleanup after the shell executor]
- packaging # Source distribution, etc.
- - hackage # head.hackage testing
+ - testing # head.hackage correctness and compiler performance testing
- deploy # push documentation
# N.B.Don't run on wip/ branches, instead on run on merge requests.
@@ -903,7 +903,7 @@ source-tarball:
.hackage:
<<: *only-default
- stage: hackage
+ stage: testing
image: ghcci/x86_64-linux-deb9:0.2
tags:
- x86_64-linux
@@ -929,6 +929,47 @@ nightly-hackage:
variables:
- $NIGHTLY
+############################################################
+# Nofib testing
+############################################################
+
+perf-nofib:
+ stage: testing
+ dependencies:
+ - release-x86_64-linux-deb9-dwarf
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
+ only:
+ refs:
+ - merge_requests
+ - master
+ - /ghc-[0-9]+\.[0-9]+/
+ tags:
+ - x86_64-linux
+ script:
+ - root=$(pwd)/ghc
+ - |
+ mkdir tmp
+ tar -xf ghc-*-x86_64-unknown-linux.tar.xz -C tmp
+ pushd tmp/ghc-*/
+ ./configure --prefix=$root
+ make install
+ popd
+ rm -Rf tmp
+ - export BOOT_HC=$(which ghc)
+ - cabal update; cabal install -w $BOOT_HC regex-compat
+ - export PATH=$root/bin:$PATH
+ - make -C nofib boot mode=fast -j$CPUS
+ - "make -C nofib EXTRA_RUNTEST_OPTS='-cachegrind +RTS -V0 -RTS' NoFibRuns=1 mode=fast -j$CPUS 2>&1 | tee nofib.log"
+ artifacts:
+ expire_in: 12 week
+ when: always
+ paths:
+ - nofib.log
+
+############################################################
+# Documentation deployment via GitLab Pages
+############################################################
+
pages:
stage: deploy
dependencies: