diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84a08bd08014c3741e66e48e1cc4ab5fb6eefaa7..9e62c4374ddb9834c20878de5704345c1ec7fca8 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: cefaee3c742af193e0f7783f87edb0d35374515c + DOCKER_REV: 6014fdf2843e07185a1762a95dce6bdedb544f55 # Sequential version number capturing the versions of all tools fetched by # .gitlab/win32-init.sh. @@ -21,7 +21,8 @@ stages: - full-build # Build all the things - cleanup # See Note [Cleanup on Windows] - packaging # Source distribution, etc. - - hackage # head.hackage testing + - testing # head.hackage correctness and compiler performance testing + - nofib - deploy # push documentation .only-default: &only-default @@ -775,7 +776,7 @@ source-tarball: .hackage: <<: *only-default - stage: hackage + stage: testing image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV" tags: - x86_64-linux @@ -801,6 +802,47 @@ nightly-hackage: variables: - $NIGHTLY +############################################################ +# Nofib testing +############################################################ + +perf-nofib: + stage: nofib + dependencies: + - validate-x86_64-linux-deb9 + 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-deb9-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: