automation: refactor gitlab-ci.yaml

Use the "extends" keyword introduced in 11.3 to reduce repetition in
jobs. More importantly, this helps us better organise the properties
of jobs.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Doug Goldstein <cardoe@cardoe.com>
This commit is contained in:
Wei Liu committed 2018-11-19 21:11:11 +00:00
1 parent 73ee557408
commit 988ebbefc2
1 file changed
+139 -164
+139 -164
View File
@@ -28,330 +28,305 @@ stages:
CXX: clang++ CXX: clang++
clang: y clang: y
centos-7-2-gcc: .x86-64-build-tmpl:
<<: *build <<: *build
variables: variables:
<<: *gcc
CONTAINER: centos:7.2
debug: n
XEN_TARGET_ARCH: x86_64 XEN_TARGET_ARCH: x86_64
.x86-64-build:
extends: .x86-64-build-tmpl
variables:
debug: n
.x86-64-build-debug:
extends: .x86-64-build-tmpl
variables:
debug: y
.x86-32-build-tmpl:
<<: *build
variables:
XEN_TARGET_ARCH: x86_32
.x86-32-build:
extends: .x86-32-build-tmpl
variables:
debug: n
.x86-32-build-debug:
extends: .x86-32-build-tmpl
variables:
debug: y
.gcc-x86-64-build:
extends: .x86-64-build
variables:
<<: *gcc
.gcc-x86-64-build-debug:
extends: .x86-64-build-debug
variables:
<<: *gcc
.gcc-x86-32-build:
extends: .x86-32-build
variables:
<<: *gcc
.gcc-x86-32-build-debug:
extends: .x86-32-build-debug
variables:
<<: *gcc
.clang-x86-64-build:
extends: .x86-64-build
variables:
<<: *clang
.clang-x86-64-build-debug:
extends: .x86-64-build-debug
variables:
<<: *clang
.clang-x86-32-build:
extends: .x86-32-build
variables:
<<: *clang
.clang-x86-32-build-debug:
extends: .x86-32-build-debug
variables:
<<: *clang
.arm64-build-tmpl:
<<: *build
variables:
XEN_TARGET_ARCH: arm64
tags:
- arm64
.arm64-build:
extends: .arm64-build-tmpl
variables:
debug: n
.arm64-build-debug:
extends: .arm64-build-tmpl
variables:
debug: y
.gcc-arm64-build:
extends: .arm64-build
variables:
<<: *gcc
.gcc-arm64-build-debug:
extends: .arm64-build-debug
variables:
<<: *gcc
# Jobs below this line
centos-7-2-gcc:
extends: .gcc-x86-64-build
variables:
CONTAINER: centos:7.2
centos-7-2-gcc-debug: centos-7-2-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: centos:7.2 CONTAINER: centos:7.2
debug: y
XEN_TARGET_ARCH: x86_64
centos-7-gcc: centos-7-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: centos:7 CONTAINER: centos:7
debug: n
XEN_TARGET_ARCH: x86_64
centos-7-gcc-debug: centos-7-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: centos:7 CONTAINER: centos:7
debug: y
XEN_TARGET_ARCH: x86_64
debian-jessie-clang: debian-jessie-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: debian:jessie CONTAINER: debian:jessie
debug: n
XEN_TARGET_ARCH: x86_64
debian-jessie-clang-debug: debian-jessie-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: debian:jessie CONTAINER: debian:jessie
debug: y
XEN_TARGET_ARCH: x86_64
debian-jessie-gcc: debian-jessie-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: debian:jessie CONTAINER: debian:jessie
debug: n
XEN_TARGET_ARCH: x86_64
debian-jessie-gcc-debug: debian-jessie-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:jessie CONTAINER: debian:jessie
debug: y
XEN_TARGET_ARCH: x86_64
debian-stretch-clang: debian-stretch-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: debian:stretch CONTAINER: debian:stretch
debug: n
XEN_TARGET_ARCH: x86_64
debian-stretch-clang-debug: debian-stretch-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: debian:stretch CONTAINER: debian:stretch
debug: y
XEN_TARGET_ARCH: x86_64
debian-stretch-gcc: debian-stretch-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: debian:stretch CONTAINER: debian:stretch
debug: n
XEN_TARGET_ARCH: x86_64
debian-stretch-gcc-debug: debian-stretch-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:stretch CONTAINER: debian:stretch
debug: y
XEN_TARGET_ARCH: x86_64
debian-stretch-32-clang: debian-stretch-32-clang:
<<: *build extends: .clang-x86-32-build
variables: variables:
<<: *clang
CONTAINER: debian:stretch-i386 CONTAINER: debian:stretch-i386
debug: n
XEN_TARGET_ARCH: x86_32
debian-stretch-32-clang-debug: debian-stretch-32-clang-debug:
<<: *build extends: .clang-x86-32-build-debug
variables: variables:
<<: *clang
CONTAINER: debian:stretch-i386 CONTAINER: debian:stretch-i386
debug: y
XEN_TARGET_ARCH: x86_32
debian-stretch-32-gcc: debian-stretch-32-gcc:
<<: *build extends: .gcc-x86-32-build
variables: variables:
<<: *gcc
CONTAINER: debian:stretch-i386 CONTAINER: debian:stretch-i386
debug: n
XEN_TARGET_ARCH: x86_32
debian-stretch-32-gcc-debug: debian-stretch-32-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:stretch-i386 CONTAINER: debian:stretch-i386
debug: y
XEN_TARGET_ARCH: x86_32
debian-unstable-clang: debian-unstable-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: debian:unstable CONTAINER: debian:unstable
debug: n
XEN_TARGET_ARCH: x86_64
debian-unstable-clang-debug: debian-unstable-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: debian:unstable CONTAINER: debian:unstable
debug: y
XEN_TARGET_ARCH: x86_64
debian-unstable-gcc: debian-unstable-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: debian:unstable CONTAINER: debian:unstable
debug: n
XEN_TARGET_ARCH: x86_64
debian-unstable-gcc-debug: debian-unstable-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:unstable CONTAINER: debian:unstable
debug: y
XEN_TARGET_ARCH: x86_64
debian-unstable-32-clang: debian-unstable-32-clang:
<<: *build extends: .clang-x86-32-build
variables: variables:
<<: *clang
CONTAINER: debian:unstable-i386 CONTAINER: debian:unstable-i386
debug: n
XEN_TARGET_ARCH: x86_32
debian-unstable-32-clang-debug: debian-unstable-32-clang-debug:
<<: *build extends: .clang-x86-32-build-debug
variables: variables:
<<: *clang
CONTAINER: debian:unstable-i386 CONTAINER: debian:unstable-i386
debug: y
XEN_TARGET_ARCH: x86_32
debian-unstable-32-gcc: debian-unstable-32-gcc:
<<: *build extends: .gcc-x86-32-build
variables: variables:
<<: *gcc
CONTAINER: debian:unstable-i386 CONTAINER: debian:unstable-i386
debug: n
XEN_TARGET_ARCH: x86_32
debian-unstable-32-gcc-debug: debian-unstable-32-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:unstable-i386 CONTAINER: debian:unstable-i386
debug: y
XEN_TARGET_ARCH: x86_32
# Ubuntu Trusty's Clang is 3.4 while Xen requires 3.5 # Ubuntu Trusty's Clang is 3.4 while Xen requires 3.5
ubuntu-trusty-gcc: ubuntu-trusty-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: ubuntu:trusty CONTAINER: ubuntu:trusty
debug: n
XEN_TARGET_ARCH: x86_64
ubuntu-trusty-gcc-debug: ubuntu-trusty-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: ubuntu:trusty CONTAINER: ubuntu:trusty
debug: y
XEN_TARGET_ARCH: x86_64
ubuntu-xenial-clang: ubuntu-xenial-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: ubuntu:xenial CONTAINER: ubuntu:xenial
debug: n
XEN_TARGET_ARCH: x86_64
ubuntu-xenial-clang-debug: ubuntu-xenial-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: ubuntu:xenial CONTAINER: ubuntu:xenial
debug: y
XEN_TARGET_ARCH: x86_64
ubuntu-xenial-gcc: ubuntu-xenial-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: ubuntu:xenial CONTAINER: ubuntu:xenial
debug: n
XEN_TARGET_ARCH: x86_64
ubuntu-xenial-gcc-debug: ubuntu-xenial-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: ubuntu:xenial CONTAINER: ubuntu:xenial
debug: y
XEN_TARGET_ARCH: x86_64
ubuntu-bionic-clang: ubuntu-bionic-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: ubuntu:bionic CONTAINER: ubuntu:bionic
debug: n
XEN_TARGET_ARCH: x86_64
ubuntu-bionic-clang-debug: ubuntu-bionic-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: ubuntu:bionic CONTAINER: ubuntu:bionic
debug: y
XEN_TARGET_ARCH: x86_64
ubuntu-bionic-gcc: ubuntu-bionic-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: ubuntu:bionic CONTAINER: ubuntu:bionic
debug: n
XEN_TARGET_ARCH: x86_64
ubuntu-bionic-gcc-debug: ubuntu-bionic-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: ubuntu:bionic CONTAINER: ubuntu:bionic
debug: y
XEN_TARGET_ARCH: x86_64
opensuse-leap-clang: opensuse-leap-clang:
<<: *build extends: .clang-x86-64-build
variables: variables:
<<: *clang
CONTAINER: suse:opensuse-leap CONTAINER: suse:opensuse-leap
debug: n
XEN_TARGET_ARCH: x86_64
opensuse-leap-clang-debug: opensuse-leap-clang-debug:
<<: *build extends: .clang-x86-64-build-debug
variables: variables:
<<: *clang
CONTAINER: suse:opensuse-leap CONTAINER: suse:opensuse-leap
debug: y
XEN_TARGET_ARCH: x86_64
opensuse-leap-gcc: opensuse-leap-gcc:
<<: *build extends: .gcc-x86-64-build
variables: variables:
<<: *gcc
CONTAINER: suse:opensuse-leap CONTAINER: suse:opensuse-leap
debug: n
XEN_TARGET_ARCH: x86_64
opensuse-leap-gcc-debug: opensuse-leap-gcc-debug:
<<: *build extends: .gcc-x86-64-build-debug
variables: variables:
<<: *gcc
CONTAINER: suse:opensuse-leap CONTAINER: suse:opensuse-leap
debug: y
XEN_TARGET_ARCH: x86_64
# Arm builds # Arm builds
debian-unstable-gcc-arm64: debian-unstable-gcc-arm64:
<<: *build extends: .gcc-arm64-build
variables: variables:
<<: *gcc
CONTAINER: debian:unstable-arm64v8 CONTAINER: debian:unstable-arm64v8
debug: n
XEN_TARGET_ARCH: arm64
tags:
- arm64
debian-unstable-gcc-debug-arm64: debian-unstable-gcc-debug-arm64:
<<: *build extends: .gcc-arm64-build-debug
variables: variables:
<<: *gcc
CONTAINER: debian:unstable-arm64v8 CONTAINER: debian:unstable-arm64v8
debug: y
XEN_TARGET_ARCH: arm64
tags:
- arm64
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.