4e576f6572
Generates a bit of spam in IRC when making releases, because each branch created will trigger a message.
110 lines
2.9 KiB
YAML
110 lines
2.9 KiB
YAML
sudo: required
|
|
dist: focal
|
|
language: cpp
|
|
|
|
env:
|
|
global:
|
|
- JOBS=4
|
|
- MAKEFLAGS="-j ${JOBS}"
|
|
- POLYBAR_BUILD_TYPE="compile"
|
|
|
|
# Build configurations can either not specify anything for 'addon' and use this
|
|
# default list of packages. Or they can pick and choose which package groups to
|
|
# install
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- &base_deps
|
|
- libxcb-composite0-dev
|
|
- libxcb-ewmh-dev
|
|
- libxcb-icccm4-dev
|
|
- libxcb-image0-dev
|
|
- libxcb-randr0-dev
|
|
- libxcb-util0-dev
|
|
- python3-xcbgen
|
|
- xcb-proto
|
|
- &optional_deps
|
|
- libxcb-xkb-dev
|
|
- libxcb-cursor-dev
|
|
- libxcb-xrm-dev
|
|
- libxcb1-dev
|
|
- xutils-dev
|
|
- i3-wm
|
|
- libjsoncpp-dev
|
|
- libasound2-dev
|
|
- libpulse-dev
|
|
- libcairo2-dev
|
|
- libiw-dev
|
|
- libmpdclient-dev
|
|
|
|
script: source ${TRAVIS_BUILD_DIR}/common/travis/build.sh
|
|
|
|
matrix:
|
|
include:
|
|
# Only builds the documentation
|
|
- language: generic
|
|
# Doesn't actually do anything, just used for the indicator on travis
|
|
compiler: Sphinx
|
|
addons: {apt: {packages: [python3-sphinx]}}
|
|
before_script:
|
|
- mkdir -p doc/build
|
|
- cd doc/build
|
|
- cmake ..
|
|
script: make doc
|
|
# Disable unnecessary commands
|
|
cache:
|
|
|
|
- compiler: clang
|
|
env: BUILD_TYPE=Release
|
|
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
|
|
|
- compiler: gcc
|
|
env: BUILD_TYPE=Coverage POLYBAR_BUILD_TYPE=tests BUILD_TESTS=ON
|
|
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
|
script: make check
|
|
after_success:
|
|
- cd ${TRAVIS_BUILD_DIR}
|
|
- bash <(curl -s https://codecov.io/bash) -F unittests -a "-ap" -Z || echo "Codecov did not collect coverage reports"
|
|
|
|
- compiler: gcc
|
|
env: BUILD_TYPE=Release
|
|
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
|
|
|
# Minimal build, contains no optional dependencies. This makes sure that
|
|
# we properly remove files from compilation that depend on libraries that
|
|
# are not installed
|
|
- compiler: gcc
|
|
env: BUILD_TYPE=Release POLYBAR_BUILD_TYPE=minimal
|
|
addons: {apt: {packages: [*base_deps]}}
|
|
|
|
cache:
|
|
ccache: true
|
|
apt: true
|
|
|
|
before_script:
|
|
- source ${TRAVIS_BUILD_DIR}/common/travis/summary.sh
|
|
- source ${TRAVIS_BUILD_DIR}/common/travis/configure.sh
|
|
|
|
# Only fetch the newest 5 commits instead of 50
|
|
git:
|
|
depth: 5
|
|
|
|
notifications:
|
|
email: false
|
|
irc:
|
|
channels:
|
|
- "irc.freenode.org#polybar"
|
|
template:
|
|
- " %{repository_slug}(%{branch})#%{build_number} | \"%{commit_subject}\" by %{author} | Commit #%{commit} %{result}: %{build_url}"
|
|
use_notice: true
|
|
on_success: never
|
|
on_failure: change
|
|
on_start: never
|
|
webhooks:
|
|
urls:
|
|
# For the https://gitter.im/polybar/polybar gitter room
|
|
- https://webhooks.gitter.im/e/10bdbe25961312646ace
|
|
on_success: never
|
|
on_failure: always
|
|
on_start: never
|