Within a stage all jobs run in parallel. Stages are ordered so later
stages are only executed if previous stages succeeded. By using separate
stages for the cross builds, we can avoid wasting CI resources if the
relatively simple website build fails. Later we can avoid running cross
builds, if the native build fails too.
Reviewed-by: Erik Skultety <eskultet(a)redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.gitlab-ci.yml | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1249ec6df5..8d6b5a0787 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,9 @@
-.job_template: &job_definition
+stages:
+ - prebuild
+ - cross_build
+
+.cross_build_job_template: &cross_build_job_definition
+ stage: cross_build
script:
- mkdir build
- cd build
@@ -13,17 +18,18 @@
# between Debian 10 and sid to help detect problems on the horizon.
debian-10-cross-s390x:
- <<: *job_definition
+ <<: *cross_build_job_definition
image: quay.io/libvirt/buildenv-libvirt-debian-10-cross-s390x:latest
debian-sid-cross-armv7l:
- <<: *job_definition
+ <<: *cross_build_job_definition
image: quay.io/libvirt/buildenv-libvirt-debian-sid-cross-armv7l:latest
# This artifact published by this job is downloaded by
libvirt.org to
# be deployed to the web root:
#
https://gitlab.com/libvirt/libvirt/-/jobs/artifacts/master/download?job=w...
website:
+ stage: prebuild
script:
- mkdir build
- cd build
--
2.24.1