1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-09-29 05:29:11 +00:00

Migrate Travis to GitHub workflow.

This commit is contained in:
Brenden Matthews 2021-03-01 12:03:35 -06:00
parent ba80d6cc85
commit 6e6d5f2bc1
No known key found for this signature in database
GPG Key ID: B49ABB7270D9D4FD
5 changed files with 197 additions and 285 deletions

View File

@ -0,0 +1,104 @@
name: Build and test on Linux
on: [push]
jobs:
build:
strategy:
matrix:
os:
- ubuntu-18.04
- ubuntu-20.04
x11: [ON, OFF]
compiler:
- clang
- gcc
compiler_version:
- 7
- 8
- 9
- 10
exclude:
- compiler: clang
compiler_version: 7
- os: ubuntu-18.04
compiler: clang
compiler_version: 10
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: |
sudo apt-get install -yqq --no-install-recommends \
audacious-dev \
cmake \
docbook2x \
gawk \
lcov \
libaudclient-dev \
libc++-${{ matrix.compiler_version }}-dev \
libc++abi-${{ matrix.compiler_version }}-dev \
libcairo2-dev \
libcurl4-gnutls-dev \
libcurl4-gnutls-dev \
libglib2.0-dev \
libical-dev \
libimlib2-dev \
libircclient-dev \
liblua5.3-dev \
libmicrohttpd-dev \
libmysqlclient-dev \
libpulse-dev \
librsvg2-dev \
libsystemd-dev \
libx11-dev \
libxdamage-dev \
libxext-dev \
libxft-dev \
libxinerama-dev \
libxml2-dev \
libxmmsclient-dev \
libxnvctrl-dev \
ncurses-dev
- name: Checkout
uses: actions/checkout@v2
- name: Configure with CMake
run: |
[[ "${{ matrix.compiler }}" == "clang"* ]] && CC=clang-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "clang"* ]] && CXX=clang++-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CC=gcc-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CXX=g++-${{ matrix.compiler_version }}
# Enable librsvg by default, disable for older versions of Ubuntu
# because we need librsvg>=2.46
RSVG_ENABLED=ON
[[ "${{ matrix.os }}" == "ubuntu-18.04"* ]] && RSVG_ENABLED=OFF
mkdir build
cd build
cmake .. \
-DCMAKE_C_COMPILER=$CC \
-DCMAKE_CXX_COMPILER=$CXX \
-DBUILD_X11=${{ matrix.x11 }} \
-DMAINTAINER_MODE=ON \
-DBUILD_TESTS=ON \
-DBUILD_MYSQL=ON \
-DBUILD_LUA_IMLIB2=ON \
-DBUILD_LUA_RSVG=${RSVG_ENABLED} \
-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
- name: Compile
working-directory: build
run: make -j5
- name: Test
working-directory: build
run: make test

View File

@ -0,0 +1,38 @@
name: Build and test on macOS
on: [push]
jobs:
build:
strategy:
matrix:
os:
- macos-10.15
# - macos-11.0
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: |
brew install \
docbook2x \
freetype \
gettext \
imlib2 \
lcov \
librsvg \
libxft \
libxinerama \
lua
- name: Checkout
uses: actions/checkout@v2
- name: Configure with CMake
run: |
mkdir build
cd build
cmake .. \
-DMAINTAINER_MODE=ON \
-DBUILD_TESTS=ON
- name: Compile
working-directory: build
run: make -j5
- name: Test
working-directory: build
run: make test

50
.github/workflows/publish-appimage.yml vendored Normal file
View File

@ -0,0 +1,50 @@
name: Build AppImage
on: [push]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Install dependencies
run: |
sudo apt-get install -yqq --no-install-recommends \
audacious-dev \
cmake \
docbook2x \
gawk \
lcov \
libaudclient-dev \
libcairo2-dev \
libcurl4-gnutls-dev \
libcurl4-gnutls-dev \
libglib2.0-dev \
libical-dev \
libimlib2-dev \
libircclient-dev \
liblua5.3-dev \
libmicrohttpd-dev \
libmysqlclient-dev \
libpulse-dev \
librsvg2-dev \
libsystemd-dev \
libx11-dev \
libxdamage-dev \
libxext-dev \
libxft-dev \
libxinerama-dev \
libxml2-dev \
libxmmsclient-dev \
libxnvctrl-dev \
ncurses-dev
- name: Checkout
uses: actions/checkout@v2
- name: Import GPG Deploy Key
run: |
echo "${{ secrets.GPG_DEPLOY_KEY }}" > appimage/secret.gpg
gpg --import appimage/secret.gpg
- name: Build AppImage
run: ./appimage/build.sh
- name: Archive AppImage
uses: actions/upload-artifact@v2
with:
name: conky-appimage
path: conky*.AppImage

View File

@ -1,283 +0,0 @@
---
language: cpp
matrix:
include:
- os: linux
dist: xenial
addons:
apt:
sources:
- llvm-toolchain-xenial-8
packages:
- clang-8
- llvm-8
- lld-8
- libc++-8-dev
- libc++abi-8-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
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
- 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
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:
- 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
cmake \
-DMAINTAINER_MODE=ON \
-DBUILD_TESTS=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_TESTS=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_TESTS=ON \
-DBUILD_LUA_RSVG=ON \
-DBUILD_LUA_IMLIB2=ON \
..
cd ..
mkdir build-no-x11
cd build-no-x11
cmake \
-DMAINTAINER_MODE=ON \
-DBUILD_TESTS=ON \
-DBUILD_X11=OFF \
-DBUILD_X11=OFF \
-DBUILD_LUA_RSVG=ON \
-DBUILD_LUA_IMLIB2=ON \
..
cd ..
fi
script:
- cd build
- make -j4
- make test
- if [ "$CXX" = "clang++-7" ] ; then make test-conky-coverage-txt ; fi
- cd ../build-no-x11
- make -j4
branches:
only:
- main
- "/^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$/"
sudo: required
cache:
- directories:
- "$HOME/.sonar/cache"
before_deploy:
- cd $TRAVIS_BUILD_DIR
- openssl aes-256-cbc -K $encrypted_38876355cb3e_key -iv $encrypted_38876355cb3e_iv
-in appimage/secret.gpg.enc -out appimage/secret.gpg -d
- "gpg --import appimage/secret.gpg"
- "./appimage/build.sh"
deploy:
provider: releases
file_glob: true
file: conky*.AppImage
skip_cleanup: true
on:
tags: true
condition: "$CXX = clang++-8"
api_key:
secure: YGmk5e9am7gwH1pKJVwjHPheaLrSxMIIa5iDvnto9KKaj9VDgsynzPFcwfP6my78qMszdpC7IsjpukpKFBpmifAZ7OQcpEDFp1d91kXcTEM9ILgu3j3kl/gr6nIkzqJO9VAwlYO5H3t5xlD6EZa36FGg0Nlvi2cCuNG7mEyVJy0=

View File

@ -130,9 +130,11 @@ if(OS_LINUX)
option(BUILD_PORT_MONITORS "Build TCP portmon support" true)
option(BUILD_IBM "Support for IBM/Lenovo notebooks" true)
option(BUILD_HDDTEMP "Support for hddtemp" true)
# nvidia may also work on FreeBSD, not sure
option(BUILD_NVIDIA "Enable nvidia support" false)
option(BUILD_IPV6 "Enable if you want IPv6 support" true)
if(BUILD_X11)
# nvidia may also work on FreeBSD, not sure
option(BUILD_NVIDIA "Enable nvidia support" false)
endif(BUILD_X11)
else(OS_LINUX)
set(BUILD_PORT_MONITORS false)
set(BUILD_IBM false)
@ -202,6 +204,7 @@ else(BUILD_X11)
set(BUILD_XFT false CACHE BOOL "Build Xft (freetype fonts) support" FORCE)
set(BUILD_IMLIB2 false CACHE BOOL "Enable Imlib2 support" FORCE)
set(BUILD_XSHAPE false CACHE BOOL "Enable Xshape support" FORCE)
set(BUILD_NVIDIA false)
endif(BUILD_X11)
if(OWN_WINDOW)