Browse Source

gitlab-ci: re-organize packaging pipeline

Move the macOS package build job into the `build` stage.  Since it
depends on the sphinx doc package job, add a preceding `prep` stage.
Brad King 5 years ago
parent
commit
17decc4691
3 changed files with 27 additions and 15 deletions
  1. 16 14
      .gitlab-ci.yml
  2. 10 0
      .gitlab/os-linux.yml
  3. 1 1
      .gitlab/os-macos.yml

+ 16 - 14
.gitlab-ci.yml

@@ -12,9 +12,9 @@ include:
     - local: .gitlab/upload.yml
 
 stages:
+    - prep
     - build
     - test
-    - package
     - test-ext
     - upload
 
@@ -34,6 +34,16 @@ stages:
 #   - dependency/needs jobs for required jobs
 ################################################################################
 
+# Prep jobs
+
+prep:doc:
+    extends:
+        - .fedora31_sphinx_package
+        - .cmake_prep_doc_linux
+        - .linux_builder_tags_qt
+        - .cmake_doc_artifacts
+        - .run_only_for_package
+
 # Lint builds
 
 build:debian10-iwyu:
@@ -57,14 +67,6 @@ build:fedora31-sphinx:
         - .linux_builder_tags_qt
         - .run_automatically
 
-build:fedora31-sphinx-package:
-    extends:
-        - .fedora31_sphinx_package
-        - .cmake_build_linux
-        - .linux_builder_tags_qt
-        - .cmake_doc_artifacts
-        - .run_only_for_package
-
 # Linux builds
 
 build:centos6-release:
@@ -180,7 +182,7 @@ test:macos-xcode:
     needs:
         - test:macos-ninja
 
-package:macos:
+build:macos-package:
     extends:
         - .macos_package
         - .cmake_build_macos_package
@@ -188,18 +190,18 @@ package:macos:
         - .macos_builder_tags_package
         - .run_only_for_package
     dependencies:
-        - build:fedora31-sphinx-package
+        - prep:doc
     needs:
-        - build:fedora31-sphinx-package
+        - prep:doc
 
 upload:macos:
     extends:
         - .rsync_upload
         - .run_only_for_package
     dependencies:
-        - package:macos
+        - build:macos-package
     needs:
-        - package:macos
+        - build:macos-package
     variables:
         RSYNC_DESTINATION: dev
 

+ 10 - 0
.gitlab/os-linux.yml

@@ -143,6 +143,16 @@
     - cmake --version
     - ninja --version
 
+.cmake_prep_doc_linux:
+    stage: prep
+
+    script:
+        - *before_script_linux
+        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
+        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
+
+    interruptible: true
+
 .cmake_build_linux:
     stage: build
 

+ 1 - 1
.gitlab/os-macos.yml

@@ -111,7 +111,7 @@
     interruptible: true
 
 .cmake_build_macos_package:
-    stage: package
+    stage: build
 
     script:
         - *before_script_macos