提交 4268e187 编写于 作者: A Andrea Bolognani

ci: Run all jobs, for all branches, all the time

After recent changes (increasing the parallelism of the pipeline
by reducing the number of stages, introducing FreeBSD builds that
take longer than any other job), the difference between running
the full pipeline or a reduced one has basically disappeared: in
both cases, the completion time is around 25-35 minutes depending
on whether containers need to be rebuilt and how many shared
runners are available.

Reduce the complexity of our .gitlab-ci.yml and make things
simpler for contributors by simply always running all jobs.
Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 207a5009
...@@ -15,8 +15,7 @@ stages: ...@@ -15,8 +15,7 @@ stages:
# Common templates # Common templates
# Containers that are necessary for the default pipeline .container_job_template: &container_job_definition
.container_default_job_template: &container_default_job_definition
image: docker:stable image: docker:stable
stage: containers stage: containers
services: services:
...@@ -33,23 +32,15 @@ stages: ...@@ -33,23 +32,15 @@ stages:
after_script: after_script:
- docker logout - docker logout
# Containers that are only needed for the full pipeline
.container_extra_job_template: &container_extra_job_definition
<<: *container_default_job_definition
only:
- master
- /^ci-full-.*$/
# We build many containers which can be useful to debug problems but are not # We build many containers which can be useful to debug problems but are not
# needed for the pipeline itself to complete: those sometimes fail, and when # needed for the pipeline itself to complete: those sometimes fail, and when
# that happens it's mostly because of temporary issues with Debian sid. We # that happens it's mostly because of temporary issues with Debian sid. We
# don't want those failures to affect the overall pipeline status # don't want those failures to affect the overall pipeline status
.container_optional_job_template: &container_optional_job_definition .container_optional_job_template: &container_optional_job_definition
<<: *container_extra_job_definition <<: *container_job_definition
allow_failure: true allow_failure: true
# Default native build jobs that are always run .native_build_job_template: &native_build_job_definition
.native_build_default_job_template: &native_build_default_job_definition
stage: builds stage: builds
image: $CI_REGISTRY_IMAGE/ci-$NAME:latest image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
cache: cache:
...@@ -64,18 +55,10 @@ stages: ...@@ -64,18 +55,10 @@ stages:
- ../autogen.sh || (cat config.log && exit 1) - ../autogen.sh || (cat config.log && exit 1)
- $MAKE distcheck - $MAKE distcheck
# Extra native build jobs that are only run post-merge, or
# when code is pushed to a branch with "ci-full-" name prefix
.native_build_extra_job_template: &native_build_extra_job_definition
<<: *native_build_default_job_definition
only:
- master
- /^ci-full-.*$/
# Jobs that we delegate to Cirrus CI because they require an operating # Jobs that we delegate to Cirrus CI because they require an operating
# system other than Linux. These jobs will only run if the required # system other than Linux. These jobs will only run if the required
# setup has been performed on the GitLab account (see ci/README.rst). # setup has been performed on the GitLab account (see ci/README.rst).
.cirrus_build_default_job_template: &cirrus_build_default_job_definition .cirrus_build_job_template: &cirrus_build_job_definition
stage: builds stage: builds
image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
script: script:
...@@ -85,19 +68,7 @@ stages: ...@@ -85,19 +68,7 @@ stages:
- $CIRRUS_GITHUB_REPO - $CIRRUS_GITHUB_REPO
- $CIRRUS_API_TOKEN - $CIRRUS_API_TOKEN
.cirrus_build_extra_job_template: &cirrus_build_extra_job_definition .cross_build_default_job_template: &cross_build_job_definition
<<: *cirrus_build_default_job_definition
only:
variables:
- $CIRRUS_GITHUB_REPO
- $CIRRUS_API_TOKEN
refs:
- master
- /^ci-full-.*$/
# Default cross build jobs that are always run
.cross_build_default_job_template: &cross_build_default_job_definition
stage: builds stage: builds
image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest
cache: cache:
...@@ -112,74 +83,66 @@ stages: ...@@ -112,74 +83,66 @@ stages:
- ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1) - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
- $MAKE - $MAKE
# Extra cross build jobs that are only run post-merge, or
# when code is pushed to a branch with "ci-full-" name prefix
.cross_build_extra_job_template: &cross_build_extra_job_definition
<<: *cross_build_default_job_definition
only:
- master
- /^ci-full-.*$/
# Native container build jobs # Native container build jobs
x64-centos-7-container: x64-centos-7-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: centos-7 NAME: centos-7
x64-centos-8-container: x64-centos-8-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: centos-8 NAME: centos-8
x64-centos-stream-container: x64-centos-stream-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: centos-stream NAME: centos-stream
x64-debian-9-container: x64-debian-9-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-9 NAME: debian-9
x64-debian-10-container: x64-debian-10-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-10 NAME: debian-10
x64-debian-sid-container: x64-debian-sid-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-sid NAME: debian-sid
x64-fedora-31-container: x64-fedora-31-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: fedora-31 NAME: fedora-31
x64-fedora-32-container: x64-fedora-32-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: fedora-32 NAME: fedora-32
x64-fedora-rawhide-container: x64-fedora-rawhide-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: fedora-rawhide NAME: fedora-rawhide
x64-opensuse-151-container: x64-opensuse-151-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: opensuse-151 NAME: opensuse-151
x64-ubuntu-1804-container: x64-ubuntu-1804-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: ubuntu-1804 NAME: ubuntu-1804
x64-ubuntu-2004-container: x64-ubuntu-2004-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: ubuntu-2004 NAME: ubuntu-2004
...@@ -192,7 +155,7 @@ aarch64-debian-9-container: ...@@ -192,7 +155,7 @@ aarch64-debian-9-container:
NAME: debian-9-cross-aarch64 NAME: debian-9-cross-aarch64
armv6l-debian-9-container: armv6l-debian-9-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-9-cross-armv6l NAME: debian-9-cross-armv6l
...@@ -202,12 +165,12 @@ armv7l-debian-9-container: ...@@ -202,12 +165,12 @@ armv7l-debian-9-container:
NAME: debian-9-cross-armv7l NAME: debian-9-cross-armv7l
mips-debian-9-container: mips-debian-9-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-9-cross-mips NAME: debian-9-cross-mips
mips64el-debian-9-container: mips64el-debian-9-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-9-cross-mips64el NAME: debian-9-cross-mips64el
...@@ -227,7 +190,7 @@ s390x-debian-9-container: ...@@ -227,7 +190,7 @@ s390x-debian-9-container:
NAME: debian-9-cross-s390x NAME: debian-9-cross-s390x
aarch64-debian-10-container: aarch64-debian-10-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-10-cross-aarch64 NAME: debian-10-cross-aarch64
...@@ -257,7 +220,7 @@ mips64el-debian-10-container: ...@@ -257,7 +220,7 @@ mips64el-debian-10-container:
NAME: debian-10-cross-mips64el NAME: debian-10-cross-mips64el
mipsel-debian-10-container: mipsel-debian-10-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-10-cross-mipsel NAME: debian-10-cross-mipsel
...@@ -267,7 +230,7 @@ ppc64le-debian-10-container: ...@@ -267,7 +230,7 @@ ppc64le-debian-10-container:
NAME: debian-10-cross-ppc64le NAME: debian-10-cross-ppc64le
s390x-debian-10-container: s390x-debian-10-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-10-cross-s390x NAME: debian-10-cross-s390x
...@@ -282,12 +245,12 @@ armv6l-debian-sid-container: ...@@ -282,12 +245,12 @@ armv6l-debian-sid-container:
NAME: debian-sid-cross-armv6l NAME: debian-sid-cross-armv6l
armv7-ldebian-sid-container: armv7-ldebian-sid-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-sid-cross-armv7l NAME: debian-sid-cross-armv7l
i686-debian-sid-container: i686-debian-sid-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-sid-cross-i686 NAME: debian-sid-cross-i686
...@@ -302,7 +265,7 @@ mipsel-debian-sid-container: ...@@ -302,7 +265,7 @@ mipsel-debian-sid-container:
NAME: debian-sid-cross-mipsel NAME: debian-sid-cross-mipsel
ppc64le-debian-sid-container: ppc64le-debian-sid-container:
<<: *container_extra_job_definition <<: *container_job_definition
variables: variables:
NAME: debian-sid-cross-ppc64le NAME: debian-sid-cross-ppc64le
...@@ -312,12 +275,12 @@ s390x-debian-sid-container: ...@@ -312,12 +275,12 @@ s390x-debian-sid-container:
NAME: debian-sid-cross-s390x NAME: debian-sid-cross-s390x
mingw32-fedora-rawhide-container: mingw32-fedora-rawhide-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: fedora-rawhide-cross-mingw32 NAME: fedora-rawhide-cross-mingw32
mingw64-fedora-rawhide-container: mingw64-fedora-rawhide-container:
<<: *container_default_job_definition <<: *container_job_definition
variables: variables:
NAME: fedora-rawhide-cross-mingw64 NAME: fedora-rawhide-cross-mingw64
...@@ -325,72 +288,72 @@ mingw64-fedora-rawhide-container: ...@@ -325,72 +288,72 @@ mingw64-fedora-rawhide-container:
# Native architecture build + test jobs # Native architecture build + test jobs
x64-debian-9: x64-debian-9:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: debian-9 NAME: debian-9
x64-debian-10: x64-debian-10:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: debian-10 NAME: debian-10
x64-debian-sid: x64-debian-sid:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: debian-sid NAME: debian-sid
x64-centos-7: x64-centos-7:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: centos-7 NAME: centos-7
x64-centos-8: x64-centos-8:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: centos-8 NAME: centos-8
x64-centos-stream: x64-centos-stream:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: centos-stream NAME: centos-stream
x64-fedora-31: x64-fedora-31:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: fedora-31 NAME: fedora-31
x64-fedora-32: x64-fedora-32:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: fedora-32 NAME: fedora-32
x64-fedora-rawhide: x64-fedora-rawhide:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: fedora-rawhide NAME: fedora-rawhide
x64-opensuse-151: x64-opensuse-151:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: opensuse-151 NAME: opensuse-151
x64-ubuntu-1804: x64-ubuntu-1804:
<<: *native_build_extra_job_definition <<: *native_build_job_definition
variables: variables:
NAME: ubuntu-1804 NAME: ubuntu-1804
x64-ubuntu-2004: x64-ubuntu-2004:
<<: *native_build_default_job_definition <<: *native_build_job_definition
variables: variables:
NAME: ubuntu-2004 NAME: ubuntu-2004
x64-freebsd-12-build: x64-freebsd-12-build:
<<: *cirrus_build_default_job_definition <<: *cirrus_build_job_definition
variables: variables:
NAME: freebsd-12 NAME: freebsd-12
x64-macos-1015-build: x64-macos-1015-build:
<<: *cirrus_build_default_job_definition <<: *cirrus_build_job_definition
variables: variables:
NAME: macos-1015 NAME: macos-1015
...@@ -398,67 +361,67 @@ x64-macos-1015-build: ...@@ -398,67 +361,67 @@ x64-macos-1015-build:
# Cross compiled build jobs # Cross compiled build jobs
armv6l-debian-9: armv6l-debian-9:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-9 NAME: debian-9
CROSS: armv6l CROSS: armv6l
mips64el-debian-9: mips64el-debian-9:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-9 NAME: debian-9
CROSS: mips64el CROSS: mips64el
mips-debian-9: mips-debian-9:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-9 NAME: debian-9
CROSS: mips CROSS: mips
aarch64-debian-10: aarch64-debian-10:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-10 NAME: debian-10
CROSS: aarch64 CROSS: aarch64
mipsel-debian-10: mipsel-debian-10:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-10 NAME: debian-10
CROSS: mipsel CROSS: mipsel
s390x-debian-10: s390x-debian-10:
<<: *cross_build_default_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-10 NAME: debian-10
CROSS: s390x CROSS: s390x
armv7l-debian-sid: armv7l-debian-sid:
<<: *cross_build_default_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-sid NAME: debian-sid
CROSS: armv7l CROSS: armv7l
i686-debian-sid: i686-debian-sid:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-sid NAME: debian-sid
CROSS: i686 CROSS: i686
ppc64le-debian-sid: ppc64le-debian-sid:
<<: *cross_build_extra_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: debian-sid NAME: debian-sid
CROSS: ppc64le CROSS: ppc64le
mingw32-fedora-rawhide: mingw32-fedora-rawhide:
<<: *cross_build_default_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: fedora-rawhide NAME: fedora-rawhide
CROSS: mingw32 CROSS: mingw32
mingw64-fedora-rawhide: mingw64-fedora-rawhide:
<<: *cross_build_default_job_definition <<: *cross_build_job_definition
variables: variables:
NAME: fedora-rawhide NAME: fedora-rawhide
CROSS: mingw64 CROSS: mingw64
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册