gitlab-ci: A bit of reorganization
authorBen Gamari <ben@smart-cactus.org>
Fri, 1 Mar 2019 15:54:02 +0000 (10:54 -0500)
committerBen Gamari <ben@smart-cactus.org>
Sat, 2 Mar 2019 23:32:22 +0000 (18:32 -0500)
.gitlab-ci.yml

index 7c78411..1140c7c 100644 (file)
@@ -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]
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #