Add gitlab-ci config

This commit is contained in:
Markus Frosch 2019-07-12 16:32:28 +02:00
parent ca566ac9b1
commit 3c06d7fd0d
1 changed files with 180 additions and 0 deletions

180
.gitlab-ci.yml Normal file
View File

@ -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