mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-20 03:51:18 +00:00
524 lines
11 KiB
YAML
524 lines
11 KiB
YAML
---
|
|
stages:
|
|
- base
|
|
- dependencies
|
|
- build
|
|
- test
|
|
- check
|
|
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_BUILDKIT: 1
|
|
|
|
.docker_base_builder: &docker_base_builder
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
- unknown_failure
|
|
- api_failure
|
|
stage: base
|
|
image: docker:stable
|
|
only:
|
|
changes:
|
|
- tests/dockerfiles/*
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- set -- $CI_JOB_NAME
|
|
- export DISTRO=$2
|
|
- "echo \"Distro: ${DISTRO}\nDocker base: ${DOCKER_BASE_IMAGE}\""
|
|
- export DOCKER_HOST="${DOCKER_HOST:-tcp://localhost:2375/}"
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
script:
|
|
- cd tests/dockerfiles
|
|
- >
|
|
docker build . -f Dockerfile.$DISTRO-base
|
|
--build-arg BUILDKIT_INLINE_CACHE=1
|
|
--cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
--tag $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
- docker push $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest
|
|
|
|
builder ubuntu base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: ubuntu:focal
|
|
|
|
builder fedora-31 base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: fedora:31
|
|
|
|
builder fedora-32 base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: fedora:32
|
|
|
|
builder fedora-33 base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: fedora:33
|
|
|
|
builder archlinux base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: archlinux:base
|
|
|
|
builder alpine base:
|
|
<<: *docker_base_builder
|
|
variables:
|
|
DOCKER_BASE_IMAGE: alpine:latest
|
|
|
|
.docker_builder: &docker_builder
|
|
<<: *docker_base_builder
|
|
stage: dependencies
|
|
script:
|
|
- set -- $CI_JOB_NAME
|
|
- export DISTRO=$2
|
|
- export COMPILER=$3
|
|
- "echo \"Distro: ${DISTRO}\nCompiler: ${COMPILER}\""
|
|
- cd tests/dockerfiles
|
|
- >
|
|
docker build . -f Dockerfile.$DISTRO-$COMPILER
|
|
--build-arg IMAGE=$CI_REGISTRY_IMAGE
|
|
--build-arg BUILDKIT_INLINE_CACHE=1
|
|
--cache-from $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
--tag $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
- docker push ${CI_REGISTRY_IMAGE}/builder/$DISTRO-$COMPILER:latest
|
|
|
|
builder ubuntu clang-9: *docker_builder
|
|
builder ubuntu clang-10: *docker_builder
|
|
builder ubuntu clang-11: *docker_builder
|
|
builder ubuntu gcc-7: *docker_builder
|
|
builder ubuntu gcc-8: *docker_builder
|
|
builder ubuntu gcc-9: *docker_builder
|
|
builder ubuntu gcc-10: *docker_builder
|
|
builder fedora-31 clang-8: *docker_builder
|
|
builder fedora-32 clang-10: *docker_builder
|
|
builder fedora-33 clang-11: *docker_builder
|
|
builder archlinux clang: *docker_builder
|
|
builder archlinux gcc: *docker_builder
|
|
builder alpine gcc: *docker_builder
|
|
# builder alpine clang: *docker_builder
|
|
|
|
.build_stages: &build_stages
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
- unknown_failure
|
|
- api_failure
|
|
image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
stage: build
|
|
script:
|
|
- "echo \"Distro: ${DISTRO}\nCompiler: ${COMPILER}\nCC: $CC\nCXX: $CXX\""
|
|
- mkdir -p build
|
|
- cd build
|
|
- >
|
|
cmake
|
|
-DBUILD_AUDACIOUS=$BUILD_AUDACIOUS
|
|
-DBUILD_HTTP=ON
|
|
-DBUILD_ICAL=$BUILD_ICAL
|
|
-DBUILD_ICONV=ON
|
|
-DBUILD_IRC=$BUILD_IRC
|
|
-DBUILD_JOURNAL=$BUILD_JOURNAL
|
|
-DBUILD_LUA_CAIRO=$BUILD_LUA_CAIRO
|
|
-DBUILD_LUA_IMLIB2=ON
|
|
-DBUILD_LUA_RSVG=$BUILD_LUA_RSVG
|
|
-DBUILD_MYSQL=$BUILD_MYSQL
|
|
-DBUILD_NVIDIA=$BUILD_NVIDIA
|
|
-DBUILD_PULSEAUDIO=$BUILD_PULSEAUDIO
|
|
-DBUILD_RSS=$BUILD_RSS
|
|
-DBUILD_XMMS2=$BUILD_XMMS2
|
|
-DCMAKE_EXE_LINKER_FLAGS=$LINKER_FLAGS
|
|
-DMAINTAINER_MODE=ON
|
|
..
|
|
- make -j4
|
|
|
|
.build_variables: &build_variables
|
|
BUILD_AUDACIOUS: "ON"
|
|
BUILD_ICAL: "ON"
|
|
BUILD_IRC: "ON"
|
|
BUILD_JOURNAL: "ON"
|
|
BUILD_LUA_CAIRO: "ON"
|
|
BUILD_LUA_RSVG: "ON"
|
|
BUILD_MYSQL: "ON"
|
|
BUILD_NVIDIA: "ON"
|
|
BUILD_PULSEAUDIO: "ON"
|
|
BUILD_RSS: "ON"
|
|
BUILD_XMMS2: "ON"
|
|
LINKER_FLAGS: ""
|
|
|
|
ubuntu clang-9:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-9
|
|
CC: clang-9
|
|
CXX: clang++-9
|
|
|
|
ubuntu clang-10:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-10
|
|
CC: clang-10
|
|
CXX: clang++-10
|
|
|
|
ubuntu clang-11:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-11
|
|
CC: clang-11
|
|
CXX: clang++-11
|
|
|
|
ubuntu gcc-7:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-7
|
|
CC: gcc-7
|
|
CXX: g++-7
|
|
|
|
ubuntu gcc-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-8
|
|
CC: gcc-8
|
|
CXX: g++-8
|
|
|
|
ubuntu gcc-9:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-9
|
|
CC: gcc-9
|
|
CXX: g++-9
|
|
|
|
ubuntu gcc-10:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-10
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
|
|
fedora-31 clang-8:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: fedora-31
|
|
COMPILER: clang-8
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
|
|
fedora-32 clang-10:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: fedora-32
|
|
COMPILER: clang-10
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
|
|
fedora-33 clang-11:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: fedora-33
|
|
COMPILER: clang-11
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
|
|
archlinux clang:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: archlinux
|
|
COMPILER: clang
|
|
CC: clang
|
|
CXX: clang++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
|
|
archlinux gcc:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: archlinux
|
|
COMPILER: gcc
|
|
CC: gcc
|
|
CXX: g++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
|
|
alpine gcc:
|
|
<<: *build_stages
|
|
variables:
|
|
<<: *build_variables
|
|
DISTRO: alpine
|
|
COMPILER: gcc
|
|
CC: gcc
|
|
CXX: g++
|
|
BUILD_AUDACIOUS: "OFF"
|
|
BUILD_ICAL: "OFF"
|
|
BUILD_IRC: "OFF"
|
|
BUILD_JOURNAL: "OFF"
|
|
BUILD_LUA_CAIRO: "OFF"
|
|
BUILD_LUA_RSVG: "OFF"
|
|
BUILD_MYSQL: "OFF"
|
|
BUILD_NVIDIA: "OFF"
|
|
BUILD_PULSEAUDIO: "OFF"
|
|
BUILD_RSS: "OFF"
|
|
BUILD_XMMS2: "OFF"
|
|
|
|
# alpine clang:
|
|
# <<: *build_stages
|
|
# variables:
|
|
# <<: *build_variables
|
|
# DISTRO: alpine
|
|
# COMPILER: clang
|
|
# CC: clang
|
|
# CXX: clang++
|
|
# BUILD_AUDACIOUS: "OFF"
|
|
# BUILD_ICAL: "OFF"
|
|
# BUILD_IRC: "OFF"
|
|
# BUILD_JOURNAL: "OFF"
|
|
# BUILD_LUA_CAIRO: "OFF"
|
|
# BUILD_LUA_RSVG: "OFF"
|
|
# BUILD_MYSQL: "OFF"
|
|
# BUILD_NVIDIA: "OFF"
|
|
# BUILD_PULSEAUDIO: "OFF"
|
|
# BUILD_RSS: "OFF"
|
|
# BUILD_XMMS2: "OFF"
|
|
|
|
.test_stages: &test_stages
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
- unknown_failure
|
|
- api_failure
|
|
image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
stage: test
|
|
|
|
.test_run: &test_run
|
|
script:
|
|
- "echo \"Distro: ${DISTRO}\nCompiler: ${COMPILER}\nCC: $CC\nCXX: $CXX\""
|
|
- mkdir -p build
|
|
- cd build
|
|
- |
|
|
cmake \
|
|
-DBUILD_TESTS=ON \
|
|
-DMAINTAINER_MODE=ON \
|
|
..
|
|
- make -j4
|
|
- make -j4 test
|
|
- if [ "$COMPILER" == "clang-11" ] ; then make -j4 test-conky-coverage-txt ; fi
|
|
- if [ "$COMPILER" == "clang-11" ] ; then make -j4 test-conky-coverage-html ; fi
|
|
- if [ "$COMPILER" == "clang-11" ] ; then lcov-summary test-conky-coverage-html.info.cleaned ; fi
|
|
- make -j4
|
|
- make -j4 install
|
|
- conky -v
|
|
- find . -iname '*.gcda' -delete
|
|
- |
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DRELEASE=ON \
|
|
..
|
|
- make -j4
|
|
- make -j4 install
|
|
- conky -v
|
|
coverage: '/Total Coverage:\s+(\d+\.\d+)%/'
|
|
artifacts:
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-coverage-report"
|
|
paths:
|
|
- build/test-conky-coverage-html/
|
|
|
|
test ubuntu clang-9:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-9
|
|
CC: clang-9
|
|
CXX: clang++-9
|
|
|
|
test ubuntu clang-10:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-10
|
|
CC: clang-10
|
|
CXX: clang++-10
|
|
|
|
test ubuntu clang-11:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: clang-11
|
|
CC: clang-11
|
|
CXX: clang++-11
|
|
|
|
test ubuntu gcc-7:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-7
|
|
CC: gcc-7
|
|
CXX: g++-7
|
|
|
|
test ubuntu gcc-8:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-8
|
|
CC: gcc-8
|
|
CXX: g++-8
|
|
|
|
test ubuntu gcc-9:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-9
|
|
CC: gcc-9
|
|
CXX: g++-9
|
|
|
|
test ubuntu gcc-10:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: ubuntu
|
|
COMPILER: gcc-10
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
|
|
test fedora-31 clang-8:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: fedora-31
|
|
COMPILER: clang-8
|
|
CC: clang
|
|
CXX: clang++
|
|
|
|
test fedora-32 clang-10:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: fedora-32
|
|
COMPILER: clang-10
|
|
CC: clang
|
|
CXX: clang++
|
|
|
|
test fedora-33 clang-11:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: fedora-33
|
|
COMPILER: clang-11
|
|
CC: clang
|
|
CXX: clang++
|
|
|
|
test archlinux clang:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: archlinux
|
|
COMPILER: clang
|
|
CC: clang
|
|
CXX: clang++
|
|
|
|
test archlinux gcc:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: archlinux
|
|
COMPILER: gcc
|
|
CC: gcc
|
|
CXX: g++
|
|
|
|
test alpine gcc:
|
|
<<: *test_stages
|
|
<<: *test_run
|
|
variables:
|
|
DISTRO: alpine
|
|
COMPILER: gcc
|
|
CC: gcc
|
|
CXX: g++
|
|
|
|
# test alpine clang:
|
|
# <<: *test_stages
|
|
# <<: *test_run
|
|
# variables:
|
|
# DISTRO: alpine
|
|
# COMPILER: clang
|
|
# CC: clang
|
|
# CXX: clang++
|
|
|
|
.check_stages: &check_stages
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- stuck_or_timeout_failure
|
|
- unknown_failure
|
|
- api_failure
|
|
image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest
|
|
stage: check
|
|
|
|
check clang-tidy:
|
|
<<: *check_stages
|
|
variables:
|
|
COMPILER: clang-11
|
|
DISTRO: ubuntu
|
|
CC: clang-11
|
|
CXX: clang++-11
|
|
script:
|
|
- mkdir -p build
|
|
- cd build
|
|
- >
|
|
cmake
|
|
-DMAINTAINER_MODE=ON
|
|
-DCHECK_CODE_QUALITY=ON
|
|
..
|
|
- make -j4
|
|
- make -j4 check-clang-tidy
|
|
|
|
check clang-format:
|
|
<<: *check_stages
|
|
variables:
|
|
COMPILER: clang-11
|
|
DISTRO: ubuntu
|
|
CC: clang-11
|
|
CXX: clang++-11
|
|
script:
|
|
- mkdir -p build
|
|
- cd build
|
|
- >
|
|
cmake
|
|
-DMAINTAINER_MODE=ON
|
|
-DCHECK_CODE_QUALITY=ON
|
|
..
|
|
- make -j4 check-clang-format
|