From 3c06d7fd0d989f9017f0f82c374364ca00126dd9 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Fri, 12 Jul 2019 16:32:28 +0200 Subject: [PATCH] Add gitlab-ci config --- .gitlab-ci.yml | 180 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..c948585 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,180 @@ +stages: + - build + - test + - upload + +variables: + DOCKER_IMAGE_BASE: registry.icinga.com/build-docker + ICINGA_BUILD_TYPE: snapshot + #ICINGA_BUILD_UPSTREAM_BRANCH: + +.build: &build + stage: build + tags: + - docker + image: ${DOCKER_IMAGE_BASE}/${DOCKER_IMAGE} + script: + - icinga-build-package + cache: + key: "${CI_JOB_NAME}" + paths: + - ccache/ + - 'icinga2.git' + artifacts: + paths: + - build/* + expire_in: 1 week + +.test: &test + stage: test + tags: + - docker + image: ${DOCKER_IMAGE_BASE}/${DOCKER_IMAGE} + script: + - find build/ + - icinga-build-test + +.upload: &upload + stage: upload + tags: + - docker + image: ${DOCKER_IMAGE_BASE}/upload + script: + - find build/ + - icinga-build-upload-aptly + only: + - nonexisting_branch + # TODO: enable when switching to GitLab CI + # - master + # - tags + +################################### +# EPEL +################################### +build/centos/7: + <<: *build + variables: + DOCKER_IMAGE: centos/7 + +test/centos/7: + <<: *test + variables: + DOCKER_IMAGE: centos/7 + dependencies: + - build/centos/7 + +upload/epel/7: + <<: *upload + dependencies: + - build/centos/7 + +build/centos/6: + <<: *build + variables: + DOCKER_IMAGE: centos/6 + +test/centos/6: + <<: *test + variables: + DOCKER_IMAGE: centos/6 + dependencies: + - build/centos/6 + +upload/epel/6: + <<: *upload + dependencies: + - build/centos/6 + +################################### +# Fedora +################################### +build/fedora/30: + <<: *build + variables: + DOCKER_IMAGE: fedora/30 + +test/fedora/30: + <<: *test + variables: + DOCKER_IMAGE: fedora/30 + dependencies: + - build/fedora/30 + +upload/fedora/30: + <<: *upload + dependencies: + - build/fedora/30 + +build/fedora/29: + <<: *build + variables: + DOCKER_IMAGE: fedora/29 + +test/fedora/29: + <<: *test + variables: + DOCKER_IMAGE: fedora/29 + dependencies: + - build/fedora/29 + +upload/fedora/29: + <<: *upload + dependencies: + - build/fedora/29 + +################################### +# SLES +################################### +build/sles/15.0: + <<: *build + variables: + DOCKER_IMAGE: sles/15.0 + +test/sles/15.0: + <<: *test + variables: + DOCKER_IMAGE: sles/15.0 + dependencies: + - build/sles/15.0 + +upload/SUSE/15.0: + <<: *upload + dependencies: + - build/sles/15.0 + +build/sles/12.4: + <<: *build + variables: + DOCKER_IMAGE: sles/12.4 + +test/sles/12.4: + <<: *test + variables: + DOCKER_IMAGE: sles/12.4 + dependencies: + - build/sles/12.4 + +upload/SUSE/12.4: + <<: *upload + dependencies: + - build/sles/12.4 + +################################### +# openSUSE +################################### +build/opensuse/15.0: + <<: *build + variables: + DOCKER_IMAGE: opensuse/15.0 + +test/opensuse/15.0: + <<: *test + variables: + DOCKER_IMAGE: opensuse/15.0 + dependencies: + - build/opensuse/15.0 + +upload/openSUSE/15.0: + <<: *upload + dependencies: + - build/opensuse/15.0