polybar-dwm/.travis.yml
patrick96 d43a4a8d9d refactor(travis): Remove Debug build configurations
They're not really any different from the release builds and only
elongate the build process. Also now that we have a minimal build, we
would have more than five build configurations which would make travis
limit itself to five concurrent builds, letting the last build wait on
the others.

Also it's just unnecessary load on the travis servers
2018-06-18 11:49:31 +02:00

102 lines
2.8 KiB
YAML

sudo: required
dist: trusty
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:
sources: &sources
- ubuntu-toolchain-r-test
packages:
- &gcc
- g++-5
- gcc-5
- &clang
- libstdc++-5-dev
- &base_deps
- libxcb-ewmh-dev
- libxcb-icccm4-dev
- libxcb-image0-dev
- libxcb-randr0-dev
- libxcb-util0-dev
- python-xcbgen
- xcb-proto
- &optional_deps
- libxcb-xkb-dev
- libxcb-cursor-dev
- libxcb1-dev
- xutils-dev
- i3-wm
- libasound2-dev
- libpulse-dev
- libcairo2-dev
- libiw-dev
- libmpdclient-dev
script: source ${TRAVIS_BUILD_DIR}/common/travis/build.sh
matrix:
include:
- compiler: clang
env: BUILD_TYPE=Release
addons: {apt: {sources: *sources, packages: [*clang, *base_deps, *optional_deps]}}
- compiler: gcc
env: BUILD_TYPE=Debug POLYBAR_BUILD_TYPE=tests BUILD_TESTS=ON
addons: {apt: {sources: *sources, packages: [*gcc, *base_deps, *optional_deps]}}
script: ${TRAVIS_BUILD_DIR}/common/travis/tests.sh
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: {sources: *sources, packages: [*gcc, *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: {sources: *sources, packages: [*gcc, *base_deps]}}
cache:
ccache: true
apt: true
directories:
- ${TRAVIS_BUILD_DIR}/deps/xcb-util-xrm
install:
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir -p "${DEPS_DIR}" && cd "${DEPS_DIR}"
- source ${TRAVIS_BUILD_DIR}/common/travis/environment.sh
- source ${TRAVIS_BUILD_DIR}/common/travis/install_xcb_xrm.sh
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:
- "%{author} pushed #%{commit} \"%{commit_subject}\" to %{repository_name}/%{branch}"
- "Build #%{build_number} %{result} / %{build_url} (diff: %{compare_url})"
use_notice: true
on_success: change
on_failure: change