mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-17 18:45:10 +00:00
450 lines
11 KiB
YAML
450 lines
11 KiB
YAML
stages:
|
|
- base
|
|
- dependencies
|
|
- build
|
|
- test
|
|
- coverage
|
|
|
|
variables:
|
|
CC: clang-7
|
|
CXX: clang++-7
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_HOST: tcp://localhost:2375/
|
|
|
|
.docker_builder: &docker_builder
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
stage: dependencies
|
|
image: docker:stable
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker pull $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest || true
|
|
|
|
builder-ubuntu-base:
|
|
<<: *docker_builder
|
|
stage: base
|
|
variables:
|
|
DISTRO: ubuntu
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- docker pull ubuntu:bionic || true
|
|
- docker build -f Dockerfile.$DISTRO-base --cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest .
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
|
|
builder-fedora-base:
|
|
<<: *docker_builder
|
|
stage: base
|
|
variables:
|
|
DISTRO: fedora
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.fedora-base
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- docker pull fedora:latest || true
|
|
- docker build -f Dockerfile.$DISTRO-base --cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest .
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
|
|
builder-centos6-base:
|
|
<<: *docker_builder
|
|
stage: base
|
|
variables:
|
|
DISTRO: centos6
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos6-base
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- docker pull centos:6 || true
|
|
- docker build -f Dockerfile.$DISTRO-base --cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest .
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
|
|
builder-centos7-base:
|
|
<<: *docker_builder
|
|
stage: base
|
|
variables:
|
|
DISTRO: centos7
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos7-base
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- docker pull centos:7 || true
|
|
- docker build -f Dockerfile.$DISTRO-base --cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest .
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:$CI_COMMIT_SHA
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
|
|
.builder_script: &builder_script
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- docker pull $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest || true
|
|
- docker build -f Dockerfile.$DISTRO-$COMPILER --build-arg IMAGE=$CI_REGISTRY_IMAGE --cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest .
|
|
- docker push ${CI_REGISTRY_IMAGE}/builder/$DISTRO-$COMPILER:$CI_COMMIT_SHA
|
|
- docker push ${CI_REGISTRY_IMAGE}/builder/$DISTRO-$COMPILER:latest
|
|
|
|
builder-ubuntu-clang-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-clang-7
|
|
variables:
|
|
COMPILER: clang-7
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-ubuntu-clang-8:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-clang-8
|
|
variables:
|
|
COMPILER: clang-8
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-ubuntu-gcc-5:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-gcc-5
|
|
variables:
|
|
COMPILER: gcc-5
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-ubuntu-gcc-6:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-gcc-6
|
|
variables:
|
|
COMPILER: gcc-6
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-ubuntu-gcc-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-gcc-7
|
|
variables:
|
|
COMPILER: gcc-7
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-ubuntu-gcc-8:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.ubuntu-base
|
|
- tests/dockerfiles/Dockerfile.ubuntu-gcc-8
|
|
variables:
|
|
COMPILER: gcc-8
|
|
DISTRO: ubuntu
|
|
<<: *builder_script
|
|
|
|
builder-fedora-gcc-8:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.fedora-base
|
|
- tests/dockerfiles/Dockerfile.fedora-gcc-8
|
|
variables:
|
|
COMPILER: gcc-8
|
|
DISTRO: fedora
|
|
<<: *builder_script
|
|
|
|
builder-fedora-clang-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.fedora-base
|
|
- tests/dockerfiles/Dockerfile.fedora-clang-7
|
|
variables:
|
|
COMPILER: clang-7
|
|
DISTRO: fedora
|
|
<<: *builder_script
|
|
|
|
builder-centos6-gcc-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos6-base
|
|
- tests/dockerfiles/Dockerfile.centos6-gcc-7
|
|
variables:
|
|
COMPILER: gcc-7
|
|
DISTRO: centos6
|
|
<<: *builder_script
|
|
|
|
builder-centos7-gcc-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos7-base
|
|
- tests/dockerfiles/Dockerfile.centos7-gcc-7
|
|
variables:
|
|
COMPILER: gcc-7
|
|
DISTRO: centos7
|
|
<<: *builder_script
|
|
|
|
builder-centos7-gcc-8:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos7-base
|
|
- tests/dockerfiles/Dockerfile.centos7-gcc-8
|
|
variables:
|
|
COMPILER: gcc-8
|
|
DISTRO: centos7
|
|
<<: *builder_script
|
|
|
|
builder-centos7-clang-7:
|
|
<<: *docker_builder
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/Dockerfile.centos7-base
|
|
- tests/dockerfiles/Dockerfile.centos7-clang-7
|
|
variables:
|
|
COMPILER: clang-7
|
|
DISTRO: centos7
|
|
<<: *builder_script
|
|
|
|
.build_stages: &build_stages
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
stage: build
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- |
|
|
cmake \
|
|
-DCMAKE_EXE_LINKER_FLAGS=$LINKER_FLAGS \
|
|
-DMAINTAINER_MODE=ON \
|
|
-DBUILD_AUDACIOUS=$BUILD_AUDACIOUS \
|
|
-DBUILD_MYSQL=ON \
|
|
-DBUILD_LUA_IMLIB2=ON \
|
|
-DBUILD_LUA_RSVG=$BUILD_LUA_RSVG \
|
|
-DBUILD_LUA_CAIRO=$BUILD_LUA_CAIRO \
|
|
-DBUILD_XMMS2=$BUILD_XMMS2 \
|
|
-DBUILD_ICAL=ON \
|
|
-DBUILD_IRC=ON \
|
|
-DBUILD_HTTP=ON \
|
|
-DBUILD_ICONV=ON \
|
|
-DBUILD_PULSEAUDIO=ON \
|
|
-DBUILD_JOURNAL=$BUILD_JOURNAL \
|
|
-DBUILD_RSS=ON \
|
|
-DBUILD_IRC=ON \
|
|
-DBUILD_NVIDIA=$BUILD_NVIDIA \
|
|
..
|
|
- make -j4
|
|
|
|
.build_variables: &build_variables
|
|
COMPILER: clang-7
|
|
DISTRO: ubuntu
|
|
CC: clang-7
|
|
CXX: clang++-7
|
|
LINKER_FLAGS: ""
|
|
BUILD_AUDACIOUS: "ON"
|
|
BUILD_XMMS2: "ON"
|
|
BUILD_NVIDIA: "ON"
|
|
BUILD_JOURNAL: "ON"
|
|
BUILD_LUA_CAIRO: "ON"
|
|
BUILD_LUA_RSVG: "ON"
|
|
|
|
ubuntu-clang-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
artifacts:
|
|
expire_in: 1 day
|
|
paths:
|
|
- build/
|
|
|
|
ubuntu-clang-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: clang-8
|
|
CC: clang-8
|
|
CXX: clang++-8
|
|
|
|
ubuntu-gcc-5:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-5
|
|
CC: gcc-5
|
|
CXX: g++-5
|
|
|
|
ubuntu-gcc-6:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-6
|
|
CC: gcc-6
|
|
CXX: g++-6
|
|
|
|
ubuntu-gcc-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-7
|
|
CC: gcc-7
|
|
CXX: g++-7
|
|
|
|
ubuntu-gcc-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-8
|
|
CC: gcc-8
|
|
CXX: g++-8
|
|
|
|
fedora-gcc-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-8
|
|
DISTRO: fedora
|
|
CC: gcc
|
|
CXX: g++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
|
|
fedora-clang-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: fedora
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
|
|
centos6-gcc-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-7
|
|
DISTRO: centos6
|
|
CC: gcc
|
|
CXX: g++
|
|
CMAKE: cmake3
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
BUILD_NVIDIA: "OFF"
|
|
BUILD_JOURNAL: "OFF"
|
|
BUILD_LUA_CAIRO: "OFF"
|
|
BUILD_LUA_RSVG: "OFF"
|
|
# required because centos6 separates tinfo from ncurses
|
|
LINKER_FLAGS: "-ltinfo"
|
|
before_script:
|
|
- source /opt/rh/devtoolset-7/enable
|
|
|
|
centos7-gcc-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-7
|
|
DISTRO: centos7
|
|
CC: gcc
|
|
CXX: g++
|
|
CMAKE: cmake3
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
BUILD_NVIDIA: "OFF"
|
|
BUILD_JOURNAL: "OFF"
|
|
before_script:
|
|
- source /opt/rh/devtoolset-7/enable
|
|
|
|
centos7-gcc-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: gcc-8
|
|
DISTRO: centos7
|
|
CC: gcc
|
|
CXX: g++
|
|
CMAKE: cmake3
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
BUILD_NVIDIA: "OFF"
|
|
BUILD_JOURNAL: "OFF"
|
|
before_script:
|
|
- source /opt/rh/devtoolset-8/enable
|
|
|
|
centos7-clang-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
COMPILER: clang-7
|
|
DISTRO: centos7
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
BUILD_NVIDIA: "OFF"
|
|
BUILD_JOURNAL: "OFF"
|
|
before_script:
|
|
- source /opt/rh/llvm-toolset-7/enable
|
|
|
|
.test_stages: &test_stages
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
variables:
|
|
COMPILER: clang-7
|
|
DISTRO: ubuntu
|
|
image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
stage: test
|
|
|
|
test:
|
|
<<: *test_stages
|
|
script:
|
|
- cd build
|
|
- cmake -DCMAKE_SOURCE_DIR=$(dirname `pwd`) -DCMAKE_BINARY_DIR=`pwd` -DMAINTAINER_MODE=ON -DBUILD_TESTS=ON ..
|
|
- make -j4
|
|
- make -j4 test
|
|
|
|
check-clang-tidy:
|
|
<<: *test_stages
|
|
script:
|
|
- cd build
|
|
- cmake -DCMAKE_SOURCE_DIR=$(dirname `pwd`) -DCMAKE_BINARY_DIR=`pwd` -DMAINTAINER_MODE=ON -DCHECK_CODE_QUALITY=ON ..
|
|
- make -j4 check-clang-tidy
|
|
|
|
check-clang-format:
|
|
<<: *test_stages
|
|
script:
|
|
- cd build
|
|
- cmake -DCMAKE_SOURCE_DIR=$(dirname `pwd`) -DCMAKE_BINARY_DIR=`pwd` -DMAINTAINER_MODE=ON -DCHECK_CODE_QUALITY=ON ..
|
|
- make -j4 check-clang-format
|
|
|
|
coverage:
|
|
<<: *test_stages
|
|
stage: coverage
|
|
script:
|
|
- cd build
|
|
- cmake -DCMAKE_SOURCE_DIR=$(dirname `pwd`) -DCMAKE_BINARY_DIR=`pwd` -DMAINTAINER_MODE=ON -DBUILD_TESTS=ON ..
|
|
- make test-conky-coverage-txt
|