gitlab/ci_template.yml: rework the CI stages
authorJordan Petridis <jordan@centricular.com>
Fri, 23 Nov 2018 16:45:31 +0000 (18:45 +0200)
committerJordan Petridis <jordan@centricular.com>
Fri, 23 Nov 2018 18:48:54 +0000 (20:48 +0200)
Idea is that in order to not consume many resources for broken
builds, we will have a basic stage where just one simple set of
build and test jobs is run. If that passes we will continue with
the rest of the Pipeline suite.

.gitlab-ci.yml
gitlab/ci_template.yml

index 93419cc..52c371c 100644 (file)
@@ -1,15 +1,19 @@
 stages:
-  - "test"
   - "build runtime"
   - "build base"
-  - "manifest"
+  - "preparation"
+  # Test just one basic build, if succeds procced to test the rest
   - "build"
+  - "test"
+  # Run multiple builds and tests, multi-distro, multi-arch
+  - "full builds"
+  - "full tests"
 
 test manifest:
   variables:
     GIT_STRATEGY: fetch
   image: "fedora"
-  stage: "test"
+  stage: "preparation"
   before_script:
     - dnf install -y python3-pytest python3-pytest-cov python3-requests
   script:
@@ -122,6 +126,7 @@ include: "gitlab/ci_template.yml"
 # Test the build job against the latest build image tag and the local manifest
 build fedora x86_64 local:
   extends: '.build'
+  stage: 'build'
   image: "${CI_REGISTRY_IMAGE}/amd64/fedora-build:latest"
 
 build ubuntu x86_64 local:
index 4e5ddf0..5b66b6b 100644 (file)
@@ -1,6 +1,11 @@
 stages:
-  - "manifest"
-  - "build"
+  - 'preparation'
+  # Test just one basic build, if it succeeds proceed to test the rest
+  - 'build'
+  - 'test'
+  # Run multiple builds and tests, multi-distro, multi-arch
+  - 'full builds'
+  - 'full tests'
 
 variables:
   GIT_STRATEGY: none
@@ -17,7 +22,7 @@ variables:
 
 manifest:
   image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/alpine-manifest-build:10ffa6f1af6fed20a8857d2c7426d81cf162e3d1'
-  stage: 'manifest'
+  stage: 'preparation'
   script:
     - cd /gst-ci
     - gitlab/build_manifest.py --self-update
@@ -29,7 +34,7 @@ manifest:
       - "manifest.xml"
 
 .build:
-  stage: "build"
+  stage: 'full builds'
   dependencies:
     - "manifest"
   variables:
@@ -66,6 +71,7 @@ manifest:
 
 build fedora x86_64:
   extends: '.build'
+  stage: 'build'
   image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora-build:2414895a53408ed8a0410a52560f8090b3f74696'
 
 build android arm64 api28: