From dc35a1b0a8f18051d1000009be9441933b56bb1d Mon Sep 17 00:00:00 2001 From: Brenden Matthews Date: Sat, 23 Feb 2019 17:13:33 -0500 Subject: [PATCH] Add more build envs to GitLab CI. Adding: - clang-8 - gcc-5 through gcc-8 - fedora & centos builds Fixing: - mysqlclient default search path - build on centos6 --- .gitlab-ci.yml | 407 +++++++++++++++- .travis.yml | 438 +++++++++--------- cmake/ConkyPlatformChecks.cmake | 11 +- cmake/FindClangFormat.cmake | 3 +- cmake/FindClangTidy.cmake | 7 +- src/common.cc | 4 + src/cpu.cc | 3 +- tests/dockerfiles/Dockerfile.centos6-base | 62 +++ tests/dockerfiles/Dockerfile.centos6-gcc-7 | 6 + tests/dockerfiles/Dockerfile.centos7-base | 62 +++ tests/dockerfiles/Dockerfile.centos7-clang-7 | 6 + tests/dockerfiles/Dockerfile.centos7-gcc-7 | 6 + tests/dockerfiles/Dockerfile.centos7-gcc-8 | 6 + tests/dockerfiles/Dockerfile.fedora-base | 35 ++ tests/dockerfiles/Dockerfile.fedora-clang-7 | 8 + tests/dockerfiles/Dockerfile.fedora-gcc-8 | 7 + .../dockerfiles/Dockerfile.ubuntu-base | 16 - tests/dockerfiles/Dockerfile.ubuntu-clang-7 | 18 + tests/dockerfiles/Dockerfile.ubuntu-clang-8 | 15 + tests/dockerfiles/Dockerfile.ubuntu-gcc-5 | 11 + tests/dockerfiles/Dockerfile.ubuntu-gcc-6 | 11 + tests/dockerfiles/Dockerfile.ubuntu-gcc-7 | 11 + tests/dockerfiles/Dockerfile.ubuntu-gcc-8 | 11 + 23 files changed, 905 insertions(+), 259 deletions(-) create mode 100644 tests/dockerfiles/Dockerfile.centos6-base create mode 100644 tests/dockerfiles/Dockerfile.centos6-gcc-7 create mode 100644 tests/dockerfiles/Dockerfile.centos7-base create mode 100644 tests/dockerfiles/Dockerfile.centos7-clang-7 create mode 100644 tests/dockerfiles/Dockerfile.centos7-gcc-7 create mode 100644 tests/dockerfiles/Dockerfile.centos7-gcc-8 create mode 100644 tests/dockerfiles/Dockerfile.fedora-base create mode 100644 tests/dockerfiles/Dockerfile.fedora-clang-7 create mode 100644 tests/dockerfiles/Dockerfile.fedora-gcc-8 rename Dockerfile.builder => tests/dockerfiles/Dockerfile.ubuntu-base (58%) create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-clang-7 create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-clang-8 create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-gcc-5 create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-gcc-6 create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-gcc-7 create mode 100644 tests/dockerfiles/Dockerfile.ubuntu-gcc-8 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae328d0c..a43327e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,9 @@ stages: + - base - dependencies - build - test - - lint + - coverage variables: CC: clang-7 @@ -10,38 +11,400 @@ variables: DOCKER_DRIVER: overlay2 DOCKER_HOST: tcp://localhost:2375/ -docker_builder: +.docker_builder: &docker_builder stage: dependencies image: docker:stable - only: - changes: - - Dockerfile.builder services: - docker:dind before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - script: - - docker pull $CI_REGISTRY_IMAGE/builder:latest || true - - docker build -f Dockerfile.builder --cache-from $CI_REGISTRY_IMAGE/builder:latest --tag $CI_REGISTRY_IMAGE/builder:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/builder:latest . - - docker push ${CI_REGISTRY_IMAGE}/builder:$CI_COMMIT_SHA - - docker push ${CI_REGISTRY_IMAGE}/builder:latest + - docker pull $CI_REGISTRY_IMAGE/builder/$DISTRO-base:latest || true -build: - image: $CI_REGISTRY_IMAGE/builder:latest +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 + image: $CI_REGISTRY_IMAGE/builder/$DISTRO-$COMPILER:latest stage: build script: - mkdir build - cd build - - cmake -DMAINTAINER_MODE=ON .. + - | + 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/ -test: - image: $CI_REGISTRY_IMAGE/builder:latest +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 + 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 .. @@ -49,17 +412,23 @@ test: - make -j4 test check-clang-tidy: - image: $CI_REGISTRY_IMAGE/builder:latest - stage: test + <<: *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: - image: $CI_REGISTRY_IMAGE/builder:latest - stage: test + <<: *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 diff --git a/.travis.yml b/.travis.yml index 1a960bb6..16283551 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,236 +1,236 @@ language: cpp matrix: include: - - os: linux - dist: xenial - addons: - apt: - sources: - - llvm-toolchain-xenial-7 - packages: - - clang-7 - - llvm-7 - - lld-7 - - libc++-7-dev - - libc++abi-7-dev - - lcov - - cmake - - docbook2x - - libxdamage-dev - - libx11-dev - - libxft-dev - - libxext-dev - - libglib2.0-dev - - libxml2-dev - - libcurl4-gnutls-dev - - liblua5.3-dev - - libcairo2-dev - - libimlib2-dev - - libxinerama-dev - - libmysqlclient-dev - - libical-dev - - libircclient-dev - - libcairo2-dev - - libmicrohttpd-dev - - ncurses-dev - - librsvg2-dev - - libaudclient-dev - - libxmmsclient-dev - - libpulse-dev - - libcurl4-gnutls-dev - - audacious-dev - - libsystemd-dev - - libxnvctrl-dev - - libircclient-dev - - gawk - sonarcloud: - organization: brndnmtthws-github - token: - secure: KikPusy+HXcEVLr0Dqb6mkrefDU5jm7EGQ5fwO4sBG7bRMcnHV3V14s5yB4Ol8btpUC0nkNn/41+f37lkG+oT4y9ZeIH2ZrhsSEHxOgH6DF9ZSVJwtpLrF9siWgfZ0m5c5V7U5rzVYL3jlO1hQfXKCfMNAcwlKcEUrfpk7jVEZc= - env: - - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" - - os: linux - dist: xenial - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-5 - - cmake - - docbook2x - - libxdamage-dev - - libx11-dev - - libxft-dev - - libxext-dev - - libglib2.0-dev - - libxml2-dev - - libcurl4-gnutls-dev - - liblua5.3-dev - - libcairo2-dev - - libimlib2-dev - - libxinerama-dev - - libmysqlclient-dev - - libical-dev - - libircclient-dev - - libcairo2-dev - - libmicrohttpd-dev - - ncurses-dev - - librsvg2-dev - - libaudclient-dev - - libxmmsclient-dev - - libpulse-dev - - libcurl4-gnutls-dev - - audacious-dev - - libsystemd-dev - - libxnvctrl-dev - - libircclient-dev - - gawk - env: - - MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" - - os: linux - dist: xenial - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-8 - - cmake - - docbook2x - - libxdamage-dev - - libx11-dev - - libxft-dev - - libxext-dev - - libglib2.0-dev - - libxml2-dev - - libcurl4-gnutls-dev - - liblua5.3-dev - - libcairo2-dev - - libimlib2-dev - - libxinerama-dev - - libmysqlclient-dev - - libical-dev - - libircclient-dev - - libcairo2-dev - - libmicrohttpd-dev - - ncurses-dev - - librsvg2-dev - - libaudclient-dev - - libxmmsclient-dev - - libpulse-dev - - libcurl4-gnutls-dev - - audacious-dev - - libsystemd-dev - - libxnvctrl-dev - - libircclient-dev - - gawk - env: - - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" - - os: osx - osx_image: xcode9.4 - - os: osx - osx_image: xcode10.1 + - os: linux + dist: xenial + addons: + apt: + sources: + - llvm-toolchain-xenial-7 + packages: + - clang-7 + - llvm-7 + - lld-7 + - libc++-7-dev + - libc++abi-7-dev + - lcov + - cmake + - docbook2x + - libxdamage-dev + - libx11-dev + - libxft-dev + - libxext-dev + - libglib2.0-dev + - libxml2-dev + - libcurl4-gnutls-dev + - liblua5.3-dev + - libcairo2-dev + - libimlib2-dev + - libxinerama-dev + - libmysqlclient-dev + - libical-dev + - libircclient-dev + - libcairo2-dev + - libmicrohttpd-dev + - ncurses-dev + - librsvg2-dev + - libaudclient-dev + - libxmmsclient-dev + - libpulse-dev + - libcurl4-gnutls-dev + - audacious-dev + - libsystemd-dev + - libxnvctrl-dev + - libircclient-dev + - gawk + sonarcloud: + organization: brndnmtthws-github + token: + secure: KikPusy+HXcEVLr0Dqb6mkrefDU5jm7EGQ5fwO4sBG7bRMcnHV3V14s5yB4Ol8btpUC0nkNn/41+f37lkG+oT4y9ZeIH2ZrhsSEHxOgH6DF9ZSVJwtpLrF9siWgfZ0m5c5V7U5rzVYL3jlO1hQfXKCfMNAcwlKcEUrfpk7jVEZc= + env: + - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" + - os: linux + dist: xenial + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + - cmake + - docbook2x + - libxdamage-dev + - libx11-dev + - libxft-dev + - libxext-dev + - libglib2.0-dev + - libxml2-dev + - libcurl4-gnutls-dev + - liblua5.3-dev + - libcairo2-dev + - libimlib2-dev + - libxinerama-dev + - libmysqlclient-dev + - libical-dev + - libircclient-dev + - libcairo2-dev + - libmicrohttpd-dev + - ncurses-dev + - librsvg2-dev + - libaudclient-dev + - libxmmsclient-dev + - libpulse-dev + - libcurl4-gnutls-dev + - audacious-dev + - libsystemd-dev + - libxnvctrl-dev + - libircclient-dev + - gawk + env: + - MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" + - os: linux + dist: xenial + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-8 + - cmake + - docbook2x + - libxdamage-dev + - libx11-dev + - libxft-dev + - libxext-dev + - libglib2.0-dev + - libxml2-dev + - libcurl4-gnutls-dev + - liblua5.3-dev + - libcairo2-dev + - libimlib2-dev + - libxinerama-dev + - libmysqlclient-dev + - libical-dev + - libircclient-dev + - libcairo2-dev + - libmicrohttpd-dev + - ncurses-dev + - librsvg2-dev + - libaudclient-dev + - libxmmsclient-dev + - libpulse-dev + - libcurl4-gnutls-dev + - audacious-dev + - libsystemd-dev + - libxnvctrl-dev + - libircclient-dev + - gawk + env: + - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" + - os: osx + osx_image: xcode9.4 + - os: osx + osx_image: xcode10.1 before_install: -- openssl aes-256-cbc -K $encrypted_38876355cb3e_key -iv $encrypted_38876355cb3e_iv - -in appimage/secret.gpg.enc -out appimage/secret.gpg -d -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then eval "${MATRIX_EVAL}" ; fi -- | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - HOMEBREW_NO_AUTO_UPDATE=1 brew install freetype gettext lua imlib2 librsvg docbook2x lcov ; - HOMEBREW_NO_AUTO_UPDATE=1 brew link gettext --force ; - fi + - openssl aes-256-cbc -K $encrypted_38876355cb3e_key -iv $encrypted_38876355cb3e_iv + -in appimage/secret.gpg.enc -out appimage/secret.gpg -d + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then eval "${MATRIX_EVAL}" ; fi + - | + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + HOMEBREW_NO_AUTO_UPDATE=1 brew install freetype gettext lua imlib2 librsvg docbook2x lcov ; + HOMEBREW_NO_AUTO_UPDATE=1 brew link gettext --force ; + fi before_script: -- | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - mkdir build && cd build + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + mkdir build && cd build - cmake \ - -DMAINTAINER_MODE=ON \ - -DBUILD_MYSQL=ON \ - -DBUILD_LUA_IMLIB2=ON \ - -DBUILD_LUA_RSVG=ON \ - -DBUILD_LUA_CAIRO=ON \ - -DBUILD_AUDACIOUS=ON \ - -DBUILD_XMMS2=ON \ - -DBUILD_ICAL=ON \ - -DBUILD_IRC=ON \ - -DBUILD_HTTP=ON \ - -DBUILD_ICONV=ON \ - -DBUILD_PULSEAUDIO=ON \ - -DBUILD_JOURNAL=ON \ - -DBUILD_RSS=ON \ - -DBUILD_IRC=ON \ - -DBUILD_NVIDIA=ON \ - .. - cd .. - mkdir build-no-x11 - cd build-no-x11 + cmake \ + -DMAINTAINER_MODE=ON \ + -DBUILD_MYSQL=ON \ + -DBUILD_LUA_IMLIB2=ON \ + -DBUILD_LUA_RSVG=ON \ + -DBUILD_LUA_CAIRO=ON \ + -DBUILD_AUDACIOUS=ON \ + -DBUILD_XMMS2=ON \ + -DBUILD_ICAL=ON \ + -DBUILD_IRC=ON \ + -DBUILD_HTTP=ON \ + -DBUILD_ICONV=ON \ + -DBUILD_PULSEAUDIO=ON \ + -DBUILD_JOURNAL=ON \ + -DBUILD_RSS=ON \ + -DBUILD_IRC=ON \ + -DBUILD_NVIDIA=ON \ + .. + cd .. + mkdir build-no-x11 + cd build-no-x11 - cmake \ - -DMAINTAINER_MODE=ON \ - -DBUILD_X11=OFF \ - -DBUILD_MYSQL=ON \ - -DBUILD_LUA_CAIRO=ON \ - -DBUILD_LUA_IMLIB2=ON \ - -DBUILD_LUA_RSVG=ON \ - -DBUILD_AUDACIOUS=ON \ - -DBUILD_XMMS2=ON \ - -DBUILD_ICAL=ON \ - -DBUILD_IRC=ON \ - -DBUILD_HTTP=ON \ - -DBUILD_ICONV=ON \ - -DBUILD_PULSEAUDIO=ON \ - -DBUILD_JOURNAL=ON \ - -DBUILD_RSS=ON \ - -DBUILD_IRC=ON \ - .. - cd .. - elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - mkdir build && cd build - cmake \ - -DMAINTAINER_MODE=ON \ - -DBUILD_LUA_RSVG=ON \ - -DBUILD_LUA_IMLIB2=ON \ - .. - cd .. + cmake \ + -DMAINTAINER_MODE=ON \ + -DBUILD_X11=OFF \ + -DBUILD_MYSQL=ON \ + -DBUILD_LUA_CAIRO=ON \ + -DBUILD_LUA_IMLIB2=ON \ + -DBUILD_LUA_RSVG=ON \ + -DBUILD_AUDACIOUS=ON \ + -DBUILD_XMMS2=ON \ + -DBUILD_ICAL=ON \ + -DBUILD_IRC=ON \ + -DBUILD_HTTP=ON \ + -DBUILD_ICONV=ON \ + -DBUILD_PULSEAUDIO=ON \ + -DBUILD_JOURNAL=ON \ + -DBUILD_RSS=ON \ + -DBUILD_IRC=ON \ + .. + cd .. + elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + mkdir build && cd build + cmake \ + -DMAINTAINER_MODE=ON \ + -DBUILD_LUA_RSVG=ON \ + -DBUILD_LUA_IMLIB2=ON \ + .. + cd .. - mkdir build-no-x11 - cd build-no-x11 - cmake \ - -DMAINTAINER_MODE=ON \ - -DBUILD_X11=OFF \ - -DBUILD_X11=OFF \ - -DBUILD_LUA_RSVG=ON \ - -DBUILD_LUA_IMLIB2=ON \ - .. - cd .. - fi + mkdir build-no-x11 + cd build-no-x11 + cmake \ + -DMAINTAINER_MODE=ON \ + -DBUILD_X11=OFF \ + -DBUILD_X11=OFF \ + -DBUILD_LUA_RSVG=ON \ + -DBUILD_LUA_IMLIB2=ON \ + .. + cd .. + fi script: -- cd build -- | - if [ "$CXX" = "clang++-7" ] ; then - build-wrapper-linux-x86-64 --out-dir bw-output make -j4 ; - else - make -j4 ; - fi -- make test -- if [ "$CXX" = "clang++-7" ] ; then make test-conky-coverage-txt ; fi -- cd ../build-no-x11 -- make -j4 -- cd .. -- if [ "$CXX" = "clang++-7" -a ! -z "$SONAR_TOKEN" ] ; then sonar-scanner ; fi + - cd build + - | + if [ "$CXX" = "clang++-7" ] ; then + build-wrapper-linux-x86-64 --out-dir bw-output make -j4 ; + else + make -j4 ; + fi + - make test + - if [ "$CXX" = "clang++-7" ] ; then make test-conky-coverage-txt ; fi + - cd ../build-no-x11 + - make -j4 + - cd .. + - if [ "$CXX" = "clang++-7" -a ! -z "$SONAR_TOKEN" ] ; then sonar-scanner ; fi branches: only: - - master - - "/^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$/" + - master + - "/^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$/" sudo: required cache: -- directories: - - "$HOME/.sonar/cache" + - directories: + - "$HOME/.sonar/cache" before_deploy: -- "gpg --import appimage/secret.gpg" -- "./appimage/build.sh" + - "gpg --import appimage/secret.gpg" + - "./appimage/build.sh" deploy: provider: releases diff --git a/cmake/ConkyPlatformChecks.cmake b/cmake/ConkyPlatformChecks.cmake index db24cb20..2c452c18 100644 --- a/cmake/ConkyPlatformChecks.cmake +++ b/cmake/ConkyPlatformChecks.cmake @@ -231,7 +231,16 @@ if(BUILD_MYSQL) message(FATAL_ERROR "Unable to find mysql.h") endif(NOT mysql_INCLUDE_PATH) set(conky_includes ${conky_includes} ${mysql_INCLUDE_PATH}) - find_library(MYSQLCLIENT_LIB NAMES mysqlclient) + find_library(MYSQLCLIENT_LIB + NAMES mysqlclient + PATHS /usr/lib + /usr/lib64 + /usr/lib/mysql + /usr/lib64/mysql + /usr/local/lib + /usr/local/lib64 + /usr/local/lib/mysql + /usr/local/lib64/mysql) if(NOT MYSQLCLIENT_LIB) message(FATAL_ERROR "Unable to find mysqlclient library") endif(NOT MYSQLCLIENT_LIB) diff --git a/cmake/FindClangFormat.cmake b/cmake/FindClangFormat.cmake index 02f2fb86..044db6b0 100644 --- a/cmake/FindClangFormat.cmake +++ b/cmake/FindClangFormat.cmake @@ -5,7 +5,8 @@ set(CLANG_FORMAT_BIN_NAME clang-format clang-format-5.0 clang-format-6.0 - clang-format-7) + clang-format-7 + clang-format-8) find_program(CLANG_FORMAT_BIN NAMES ${CLANG_FORMAT_BIN_NAME}) diff --git a/cmake/FindClangTidy.cmake b/cmake/FindClangTidy.cmake index 699bd8f6..c44e3d2f 100644 --- a/cmake/FindClangTidy.cmake +++ b/cmake/FindClangTidy.cmake @@ -1,7 +1,12 @@ # Find Clang tidy # -set(CLANG_TIDY_BIN_NAME clang-tidy clang-tidy-5.0 clang-tidy-6.0 clang-tidy-7) +set(CLANG_TIDY_BIN_NAME + clang-tidy + clang-tidy-5.0 + clang-tidy-6.0 + clang-tidy-7 + clang-tidy-8) find_program(CLANG_TIDY_BIN NAMES ${CLANG_TIDY_BIN_NAME}) diff --git a/src/common.cc b/src/common.cc index 2c060e6a..538c5127 100644 --- a/src/common.cc +++ b/src/common.cc @@ -761,7 +761,11 @@ void print_github(struct text_object *obj, char *p, unsigned int p_max_size) { curl_global_init(CURL_GLOBAL_ALL); if (nullptr == (curl = curl_easy_init())) { goto error; } curl_easy_setopt(curl, CURLOPT_URL, github_url); +#if defined(CURLOPT_ACCEPT_ENCODING) curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "gzip"); +#else /* defined(CURLOPT_ACCEPT_ENCODING) */ + curl_easy_setopt(curl, CURLOPT_ENCODING, "gzip"); +#endif /* defined(CURLOPT_ACCEPT_ENCODING) */ curl_easy_setopt(curl, CURLOPT_USERAGENT, user_agent); curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L); diff --git a/src/cpu.cc b/src/cpu.cc index 56e924d1..08975a7e 100644 --- a/src/cpu.cc +++ b/src/cpu.cc @@ -48,7 +48,6 @@ #define AmD 0x68747541 #define InteL 0x756e6547 -#define FMT_UINT "%" PRIuMAX #if defined(__FreeBSD__) #define TICKZ 100L @@ -123,7 +122,7 @@ void get_cpu_clock_speed(char *str1, unsigned int p_max_size) { if (-1 == (nanosleep(&tc, NULL))) { return; } z = rdtsc(); - snprintf(str1, p_max_size, FMT_UINT " MHz", ((z - x) / 100000U)); + snprintf(str1, p_max_size, "%ju MHz", ((z - x) / 100000U)); } void print_freq2(struct text_object *obj, char *p, unsigned int p_max_size) { diff --git a/tests/dockerfiles/Dockerfile.centos6-base b/tests/dockerfiles/Dockerfile.centos6-base new file mode 100644 index 00000000..85c33605 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos6-base @@ -0,0 +1,62 @@ +FROM centos:6 + +RUN yum update -y -q \ + && yum -y -q install \ + epel-release \ + centos-release-scl \ + && yum -y -q install \ + cairo-devel \ + dbus-glib-devel \ + docbook2X \ + freetype-devel \ + gcc \ + git \ + imlib2-devel \ + lcov \ + libcurl-devel \ + libical-devel \ + libircclient-devel \ + libmicrohttpd-devel \ + librsvg2-devel \ + libX11-devel \ + libXdamage-devel \ + libXext-devel \ + libXft-devel \ + libXinerama-devel \ + libxml2-devel \ + make \ + man \ + mysql-devel \ + ncurses-devel \ + patch \ + pulseaudio-libs-devel \ + readline-devel \ + && curl -L https://github.com/Kitware/CMake/releases/download/v3.13.4/cmake-3.13.4-Linux-x86_64.sh -o cmake-3.13.4-Linux-x86_64.sh \ + && chmod +x cmake-3.13.4-Linux-x86_64.sh \ + && ./cmake-3.13.4-Linux-x86_64.sh --prefix=/usr --skip-license \ + && rm cmake-3.13.4-Linux-x86_64.sh \ + && mkdir /luabuild \ + && pushd /luabuild \ + && curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz \ + && tar zxf lua-5.3.5.tar.gz \ + && cd lua-5.3.5 \ + && make -j4 linux MYCFLAGS=-fPIC MYLDFLAGS=-fPIC \ + && make install INSTALL_TOP=/usr \ + && popd \ + && rm -rf /luabuild \ + && mkdir -p /usr/lib/pkgconfig \ + && echo $'\ +V= 5.3\n\ +R= 5.3.5\n\ +prefix= /usr\n\ +exec_prefix=${prefix}\n\ +libdir= /usr/lib\n\ +includedir=${prefix}/include\n\ +\n\ +Name: Lua\n\ +Description: An Extensible Extension Language\n\ +Version: ${R}\n\ +Requires:\n\ +Libs: -llua -lm -ldl\n\ +Cflags: -I${includedir}' \ +>> /usr/lib64/pkgconfig/lua.pc diff --git a/tests/dockerfiles/Dockerfile.centos6-gcc-7 b/tests/dockerfiles/Dockerfile.centos6-gcc-7 new file mode 100644 index 00000000..8aa28a77 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos6-gcc-7 @@ -0,0 +1,6 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/centos6-base:latest + +RUN yum -y -q install \ + devtoolset-7 \ + && yum clean all diff --git a/tests/dockerfiles/Dockerfile.centos7-base b/tests/dockerfiles/Dockerfile.centos7-base new file mode 100644 index 00000000..7c27f63e --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos7-base @@ -0,0 +1,62 @@ +FROM centos:7 + +RUN yum update -y -q \ + && yum -y -q install \ + epel-release \ + centos-release-scl \ + && yum -y -q install \ + cairo-devel \ + dbus-glib-devel \ + docbook2X \ + freetype-devel \ + gcc \ + git \ + imlib2-devel \ + lcov \ + libcurl-devel \ + libical-devel \ + libircclient-devel \ + libmicrohttpd-devel \ + librsvg2-devel \ + libX11-devel \ + libXdamage-devel \ + libXext-devel \ + libXft-devel \ + libXinerama-devel \ + libxml2-devel \ + make \ + man \ + mysql-devel \ + ncurses-devel \ + patch \ + pulseaudio-libs-devel \ + readline-devel \ + && curl -L https://github.com/Kitware/CMake/releases/download/v3.13.4/cmake-3.13.4-Linux-x86_64.sh -o cmake-3.13.4-Linux-x86_64.sh \ + && chmod +x cmake-3.13.4-Linux-x86_64.sh \ + && ./cmake-3.13.4-Linux-x86_64.sh --prefix=/usr --skip-license \ + && rm cmake-3.13.4-Linux-x86_64.sh \ + && mkdir /luabuild \ + && pushd /luabuild \ + && curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz \ + && tar zxf lua-5.3.5.tar.gz \ + && cd lua-5.3.5 \ + && make -j4 linux MYCFLAGS=-fPIC MYLDFLAGS=-fPIC \ + && make install INSTALL_TOP=/usr \ + && popd \ + && rm -rf /luabuild \ + && mkdir -p /usr/lib/pkgconfig \ + && echo $'\ +V= 5.3\n\ +R= 5.3.5\n\ +prefix= /usr\n\ +exec_prefix=${prefix}\n\ +libdir= /usr/lib\n\ +includedir=${prefix}/include\n\ +\n\ +Name: Lua\n\ +Description: An Extensible Extension Language\n\ +Version: ${R}\n\ +Requires:\n\ +Libs: -llua -lm -ldl\n\ +Cflags: -I${includedir}' \ +>> /usr/lib64/pkgconfig/lua.pc diff --git a/tests/dockerfiles/Dockerfile.centos7-clang-7 b/tests/dockerfiles/Dockerfile.centos7-clang-7 new file mode 100644 index 00000000..b60404a8 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos7-clang-7 @@ -0,0 +1,6 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/centos7-base:latest + +RUN yum -y -q install \ + llvm-toolset-7-clang \ + && yum clean all diff --git a/tests/dockerfiles/Dockerfile.centos7-gcc-7 b/tests/dockerfiles/Dockerfile.centos7-gcc-7 new file mode 100644 index 00000000..a605b277 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos7-gcc-7 @@ -0,0 +1,6 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/centos7-base:latest + +RUN yum -y -q install \ + devtoolset-7 \ + && yum clean all diff --git a/tests/dockerfiles/Dockerfile.centos7-gcc-8 b/tests/dockerfiles/Dockerfile.centos7-gcc-8 new file mode 100644 index 00000000..f0314429 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.centos7-gcc-8 @@ -0,0 +1,6 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/centos7-base:latest + +RUN yum -y -q install \ + devtoolset-8 \ + && yum clean all diff --git a/tests/dockerfiles/Dockerfile.fedora-base b/tests/dockerfiles/Dockerfile.fedora-base new file mode 100644 index 00000000..64e358fd --- /dev/null +++ b/tests/dockerfiles/Dockerfile.fedora-base @@ -0,0 +1,35 @@ +FROM fedora:latest + +RUN yum update -y -q \ + && yum -y -q install \ + audacious-devel \ + cairo-devel \ + cmake \ + dbus-glib-devel \ + docbook2X \ + freetype-devel \ + git \ + imlib2-devel \ + lcov \ + libcurl-devel \ + libical-devel \ + libircclient-devel \ + libmicrohttpd-devel \ + librsvg2-devel \ + libX11-devel \ + libXdamage-devel \ + libXext-devel \ + libXft-devel \ + libXinerama-devel \ + libxml2-devel \ + libXNVCtrl-devel \ + lua-devel \ + make \ + man \ + mysql-devel \ + ncurses-devel \ + patch \ + pulseaudio-libs-devel \ + readline-devel \ + systemd-devel \ + xmms2-devel diff --git a/tests/dockerfiles/Dockerfile.fedora-clang-7 b/tests/dockerfiles/Dockerfile.fedora-clang-7 new file mode 100644 index 00000000..a02bcc84 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.fedora-clang-7 @@ -0,0 +1,8 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/fedora-base:latest + +RUN yum -y -q install \ + clang \ + libcxx-devel \ + libcxxabi-devel \ + && yum clean all diff --git a/tests/dockerfiles/Dockerfile.fedora-gcc-8 b/tests/dockerfiles/Dockerfile.fedora-gcc-8 new file mode 100644 index 00000000..42588d7f --- /dev/null +++ b/tests/dockerfiles/Dockerfile.fedora-gcc-8 @@ -0,0 +1,7 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/fedora-base:latest + +RUN yum -qy install \ + gcc \ + gcc-c++ \ + && yum clean all diff --git a/Dockerfile.builder b/tests/dockerfiles/Dockerfile.ubuntu-base similarity index 58% rename from Dockerfile.builder rename to tests/dockerfiles/Dockerfile.ubuntu-base index 7579bd7a..1c8833f2 100644 --- a/Dockerfile.builder +++ b/tests/dockerfiles/Dockerfile.ubuntu-base @@ -34,19 +34,3 @@ RUN apt-get update \ docbook2x \ man \ less - -RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ - && apt-key add llvm-snapshot.gpg.key \ - && add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main' \ - && DEBIAN_FRONTEND=noninteractive \ - apt-get install -qy --no-install-recommends \ - clang-7 \ - lldb-7 \ - lld-7 \ - libc++-7-dev \ - libc++abi-7-dev \ - clang-tools-7 \ - clang-format-7 \ - clang-tidy-7 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-clang-7 b/tests/dockerfiles/Dockerfile.ubuntu-clang-7 new file mode 100644 index 00000000..035ea6e2 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-clang-7 @@ -0,0 +1,18 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main' \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + clang-7 \ + lldb-7 \ + lld-7 \ + libc++-7-dev \ + libc++abi-7-dev \ + clang-tools-7 \ + clang-format-7 \ + clang-tidy-7 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-clang-8 b/tests/dockerfiles/Dockerfile.ubuntu-clang-8 new file mode 100644 index 00000000..70a24fdb --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-clang-8 @@ -0,0 +1,15 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main' \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + clang-8 \ + lldb-8 \ + lld-8 \ + libc++-8-dev \ + libc++abi-8-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-gcc-5 b/tests/dockerfiles/Dockerfile.ubuntu-gcc-5 new file mode 100644 index 00000000..81931e49 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-gcc-5 @@ -0,0 +1,11 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository ppa:ubuntu-toolchain-r/test \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + g++-5 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-gcc-6 b/tests/dockerfiles/Dockerfile.ubuntu-gcc-6 new file mode 100644 index 00000000..1b6a6074 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-gcc-6 @@ -0,0 +1,11 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository ppa:ubuntu-toolchain-r/test \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + g++-6 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-gcc-7 b/tests/dockerfiles/Dockerfile.ubuntu-gcc-7 new file mode 100644 index 00000000..7399eb22 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-gcc-7 @@ -0,0 +1,11 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository ppa:ubuntu-toolchain-r/test \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + g++-7 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/dockerfiles/Dockerfile.ubuntu-gcc-8 b/tests/dockerfiles/Dockerfile.ubuntu-gcc-8 new file mode 100644 index 00000000..c82b5794 --- /dev/null +++ b/tests/dockerfiles/Dockerfile.ubuntu-gcc-8 @@ -0,0 +1,11 @@ +ARG IMAGE=registry.gitlab.com/brndnmtthws-oss/conky +FROM ${IMAGE}/builder/ubuntu-base:latest + +RUN wget -q https://apt.llvm.org/llvm-snapshot.gpg.key \ + && apt-key add llvm-snapshot.gpg.key \ + && add-apt-repository ppa:ubuntu-toolchain-r/test \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -qy --no-install-recommends \ + g++-8 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/*