diff options
author | Ben Gamari <ben@smart-cactus.org> | 2018-12-19 11:49:25 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-12-19 14:05:49 -0500 |
commit | 68d6a71646de52096ebc196320332a2d98daeb47 (patch) | |
tree | a70103581d84d0a1ba51949f84491ab2b0e96bee | |
parent | 9fe304180472da17f1c1d67b24ab12281cc9fd70 (diff) | |
download | haskell-68d6a71646de52096ebc196320332a2d98daeb47.tar.gz |
gitlab-ci: Split build into two halves
Currently we are having quite some trouble keeping up with our build volume due
to the number of configurations we have. I've split the pipeline into two
halves:
* build, which builds just vanilla deb9-linux with make and hadrian
* full-build, which builds everything else
This will trade-off some latency to more efficient use of our builders.
-rw-r--r-- | .gitlab-ci.yml | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b766092b2b..0fb8192e26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ variables: stages: - lint - build + - full-build ############################################################ # Linting @@ -30,7 +31,6 @@ ghc-linters: ############################################################ .validate-hadrian: - stage: build allow_failure: true script: - bash .circleci/prepare-system.sh @@ -45,6 +45,7 @@ ghc-linters: validate-x86_64-linux-deb8-hadrian: extends: .validate-hadrian + stage: build image: ghcci/x86_64-linux-deb8:0.1 before_script: # workaround for docker permissions @@ -57,7 +58,6 @@ validate-x86_64-linux-deb8-hadrian: ############################################################ .validate: - stage: build variables: TEST_TYPE: test script: @@ -83,6 +83,7 @@ validate-x86_64-linux-deb8-hadrian: validate-x86_64-darwin: extends: .validate + stage: full-build allow_failure: true tags: - x86_64-darwin @@ -127,6 +128,7 @@ validate-x86_64-darwin: validate-aarch64-linux-deb9: extends: .validate-linux + stage: full-build image: ghcci/aarch64-linux-deb9:0.1 allow_failure: true artifacts: @@ -139,6 +141,7 @@ validate-aarch64-linux-deb9: nightly-aarch64-linux-deb9: extends: validate-aarch64-linux-deb9 + stage: full-build artifacts: expire_in: 2 year variables: @@ -149,6 +152,7 @@ nightly-aarch64-linux-deb9: validate-x86_64-linux-deb9: extends: .validate-linux + stage: build image: ghcci/x86_64-linux-deb9:0.2 artifacts: when: always @@ -158,6 +162,7 @@ validate-x86_64-linux-deb9: nightly-x86_64-linux-deb9: extends: validate-x86_64-linux-deb9 + stage: build artifacts: expire_in: 2 year variables: @@ -168,6 +173,7 @@ nightly-x86_64-linux-deb9: validate-x86_64-linux-deb9-llvm: extends: .validate-linux + stage: full-build allow_failure: true image: ghcci/x86_64-linux-deb9:0.2 variables: @@ -177,6 +183,7 @@ validate-x86_64-linux-deb9-llvm: validate-x86_64-linux-deb8: extends: .validate-linux + stage: full-build image: ghcci/x86_64-linux-deb8:0.1 cache: key: linux-x86_64-deb8 @@ -186,6 +193,7 @@ validate-x86_64-linux-deb8: validate-x86_64-linux-fedora27: extends: .validate-linux + stage: full-build image: ghcci/x86_64-linux-fedora27:0.1 cache: key: linux-x86_64-fedora27 @@ -195,6 +203,7 @@ validate-x86_64-linux-fedora27: validate-x86_64-linux-deb9-integer-simple: extends: .validate-linux + stage: full-build allow_failure: true variables: INTEGER_LIBRARY: integer-simple @@ -204,6 +213,7 @@ validate-x86_64-linux-deb9-integer-simple: nightly-x86_64-linux-deb9-integer-simple: extends: validate-x86_64-linux-deb9-integer-simple + stage: full-build artifacts: expire_in: 2 year variables: @@ -214,6 +224,7 @@ nightly-x86_64-linux-deb9-integer-simple: validate-x86_64-linux-deb9-unreg: extends: .validate-linux + stage: full-build variables: CONFIGURE_ARGS: --enable-unregisterised image: ghcci/x86_64-linux-deb9:0.2 @@ -225,7 +236,7 @@ validate-x86_64-linux-deb9-unreg: ############################################################ validate-x86_64-windows-hadrian: - stage: build + stage: full-build variables: GHC_VERSION: "8.6.2" script: @@ -253,7 +264,7 @@ validate-x86_64-windows-hadrian: - x86_64-windows validate-x86_64-windows: - stage: build + stage: full-build variables: GHC_VERSION: "8.6.2" script: |