summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-03-01 10:54:02 -0500
committerBen Gamari <ben@smart-cactus.org>2019-03-02 18:32:22 -0500
commit1285d6b95fbae7858abbc4722bc2301d7fe40425 (patch)
treeed160e55e2e30e95a4af0828380be018d5a6bc69
parent1bceb6431736a53d4746f570ba3631905f6c9c29 (diff)
downloadhaskell-1285d6b95fbae7858abbc4722bc2301d7fe40425.tar.gz
gitlab-ci: A bit of reorganization
-rw-r--r--.gitlab-ci.yml162
1 files changed, 84 insertions, 78 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7c7841137e..1140c7cdf2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,6 @@
variables:
GIT_SSL_NO_VERIFY: "1"
+
# Commit of ghc/ci-images repository from which to pull Docker images
DOCKER_REV: 6d19c3adc1f5c28c82aed8c5b1ac40931ac60f3f
@@ -122,6 +123,10 @@ validate-x86_64-linux-deb8-hadrian:
- ghc.tar.xz
- junit.xml
+#################################
+# x86_64-darwin
+#################################
+
validate-x86_64-darwin:
extends: .validate
stage: full-build
@@ -179,24 +184,30 @@ validate-x86_64-darwin:
- cabal-cache
- toolchain
-validate-aarch64-linux-deb9:
+#################################
+# aarch64-linux-deb9
+#################################
+
+.build-aarch64-linux-deb9:
extends: .validate-linux
stage: full-build
image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb9:$DOCKER_REV"
allow_failure: true
variables:
TEST_ENV: "aarch64-linux-deb9"
- artifacts:
- when: always
- expire_in: 2 week
cache:
key: linux-aarch64-deb9
tags:
- aarch64-linux
+validate-aarch64-linux-deb9:
+ extends: .build-aarch64-linux-deb9
+ artifacts:
+ when: always
+ expire_in: 2 week
+
nightly-aarch64-linux-deb9:
- extends: validate-aarch64-linux-deb9
- stage: full-build
+ extends: .build-aarch64-linux-deb9
artifacts:
expire_in: 2 year
variables:
@@ -205,77 +216,58 @@ nightly-aarch64-linux-deb9:
variables:
- $NIGHTLY
-validate-i386-linux-deb9:
+#################################
+# i386-linux-deb9
+#################################
+
+.build-i386-linux-deb9:
extends: .validate-linux
stage: full-build
image: "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb9:$DOCKER_REV"
allow_failure: true
variables:
TEST_ENV: "i386-linux-deb9"
+ cache:
+ key: linux-i386-deb9
+
+validate-i386-linux-deb9:
+ extends: .build-i386-linux-deb9
artifacts:
when: always
expire_in: 2 week
- cache:
- key: linux-i386-deb9
nightly-i386-linux-deb9:
- extends: .validate-linux
- stage: full-build
- image: "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb9:$DOCKER_REV"
- allow_failure: true
+ extends: .build-i386-linux-deb9
variables:
TEST_TYPE: slowtest
- TEST_ENV: "i386-linux-deb9"
artifacts:
when: always
expire_in: 2 week
only:
variables:
- $NIGHTLY
- cache:
- key: linux-i386-deb9
-# N.B. Has DEBUG assertions enabled in stage2
-validate-x86_64-linux-deb9-debug:
- extends: .validate-linux
- stage: build
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
- variables:
- BUILD_FLAVOUR: validate
- TEST_ENV: "x86_64-linux-deb9-debug"
- cache:
- key: linux-x86_64-deb9
+#################################
+# x86_64-linux-deb9
+#################################
-validate-x86_64-linux-deb9:
+.build-x86_64-linux-deb9:
extends: .validate-linux
stage: build
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
variables:
TEST_ENV: "x86_64-linux-deb9"
- artifacts:
- when: always
- expire_in: 2 week
cache:
key: linux-x86_64-deb9
-release-x86_64-linux-deb9-dwarf:
- extends: .validate-linux
- stage: build
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
- allow_failure: true
- variables:
- CONFIGURE_ARGS: "--enable-dwarf-unwind"
- BUILD_FLAVOUR: dwarf
- TEST_ENV: "x86_64-linux-deb9"
+validate-x86_64-linux-deb9:
+ extends: .build-x86_64-linux-deb9
artifacts:
when: always
expire_in: 2 week
- cache:
- key: linux-x86_64-deb9
nightly-x86_64-linux-deb9:
- extends: validate-x86_64-linux-deb9
- stage: build
+ extends: .build-x86_64-linux-deb9
artifacts:
expire_in: 2 year
variables:
@@ -284,15 +276,51 @@ nightly-x86_64-linux-deb9:
variables:
- $NIGHTLY
+# N.B. Has DEBUG assertions enabled in stage2
+validate-x86_64-linux-deb9-debug:
+ extends: .build-x86_64-linux-deb9
+ variables:
+ BUILD_FLAVOUR: validate
+ TEST_ENV: "x86_64-linux-deb9-debug"
+
validate-x86_64-linux-deb9-llvm:
- extends: .validate-linux
+ extends: .build-x86_64-linux-deb9
stage: full-build
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
variables:
BUILD_FLAVOUR: perf-llvm
TEST_ENV: "x86_64-linux-deb9-llvm"
- cache:
- key: linux-x86_64-deb9
+
+validate-x86_64-linux-deb9-integer-simple:
+ extends: .build-x86_64-linux-deb9
+ stage: full-build
+ variables:
+ INTEGER_LIBRARY: integer-simple
+ TEST_ENV: "x86_64-linux-deb9-integer-simple"
+
+nightly-x86_64-linux-deb9-integer-simple:
+ extends: .build-x86_64-linux-deb9
+ stage: full-build
+ variables:
+ INTEGER_LIBRARY: integer-simple
+ TEST_ENV: "x86_64-linux-deb9-integer-simple"
+ TEST_TYPE: slowtest
+ artifacts:
+ expire_in: 2 year
+ only:
+ variables:
+ - $NIGHTLY
+
+validate-x86_64-linux-deb9-unreg:
+ extends: .build-x86_64-linux-deb9
+ stage: full-build
+ variables:
+ CONFIGURE_ARGS: --enable-unregisterised
+ TEST_ENV: "x86_64-linux-deb9-unreg"
+
+
+#################################
+# x86_64-linux-deb8
+#################################
release-x86_64-linux-deb8:
extends: .validate-linux
@@ -308,6 +336,11 @@ release-x86_64-linux-deb8:
when: always
expire_in: 2 week
+
+#################################
+# x86_64-linux-fedora27
+#################################
+
release-x86_64-linux-fedora27:
extends: .validate-linux
stage: full-build
@@ -322,37 +355,6 @@ release-x86_64-linux-fedora27:
when: always
expire_in: 2 week
-validate-x86_64-linux-deb9-integer-simple:
- extends: .validate-linux
- stage: full-build
- variables:
- INTEGER_LIBRARY: integer-simple
- TEST_ENV: "x86_64-linux-deb9-integer-simple"
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
- cache:
- key: linux-x86_64-deb9
-
-nightly-x86_64-linux-deb9-integer-simple:
- extends: validate-x86_64-linux-deb9-integer-simple
- stage: full-build
- artifacts:
- expire_in: 2 year
- variables:
- TEST_TYPE: slowtest
- only:
- variables:
- - $NIGHTLY
-
-validate-x86_64-linux-deb9-unreg:
- extends: .validate-linux
- stage: full-build
- variables:
- CONFIGURE_ARGS: --enable-unregisterised
- TEST_ENV: "x86_64-linux-deb9-unreg"
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
- cache:
- key: linux-x86_64-deb9-unreg
-
############################################################
# Validation via Pipelines (Windows)
############################################################
@@ -444,6 +446,10 @@ validate-x86_64-windows:
- ghc.tar.xz
- junit.xml
+############################################################
+# Cleanup
+############################################################
+
# Note [Cleaning up after shell executor]
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#