mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
7110f138e9
Still run all the jobs during cron and regular push to branch. We disabled build for push to branch, so cron is the only place where all builds are run. This also means we need to worry less about spending time in nightly builds, because they occur only once a day. See https://github.com/travis-ci/travis-ci/issues/9071
102 lines
2.9 KiB
YAML
102 lines
2.9 KiB
YAML
# For Pull Requests, we build only the first three jobs: autotools on Linux,
|
|
# cmake on Linux, and cmake on Windows 32 bit.
|
|
#
|
|
# For branch builds and cron builds (once a day), we build all the jobs. This
|
|
# is achieved using the "if: type IN (push, api, cron)" fields in the matrix.
|
|
|
|
language: c
|
|
|
|
matrix:
|
|
include:
|
|
- stage: "Stage 1"
|
|
env: JOB=autotools ENV=linux
|
|
compiler: gcc
|
|
- stage: "Stage 1"
|
|
env: JOB=toxcore ENV=linux
|
|
compiler: clang
|
|
- stage: "Stage 1"
|
|
env: JOB=toxcore ENV=windows ARCH=i686
|
|
group: deprecated-2017Q4
|
|
services:
|
|
- docker
|
|
- stage: "Stage 1"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=toxcore ENV=windows ARCH=x86_64
|
|
group: deprecated-2017Q4
|
|
services:
|
|
- docker
|
|
- stage: "Stage 1"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=toxcore ENV=freebsd
|
|
dist: trusty
|
|
sudo: required
|
|
install: other/travis/phase $JOB $ENV install stage1
|
|
script: other/travis/phase $JOB $ENV script stage1
|
|
- stage: "Stage 1"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=tox-bootstrapd-docker ENV=linux
|
|
services:
|
|
- docker
|
|
sudo: required
|
|
- stage: "Stage 2"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=toxcore ENV=freebsd
|
|
dist: trusty
|
|
sudo: required
|
|
install: other/travis/phase $JOB $ENV install stage2
|
|
- stage: "Stage 2"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=toxcore ENV=osx RUN_TESTS=true
|
|
os: osx
|
|
fast_finish: true
|
|
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- avsm
|
|
- hvr-ghc
|
|
packages:
|
|
- alex-3.1.7 # For hstox.
|
|
- cabal-install-1.18 # For hstox.
|
|
- check # For tests.
|
|
- ghc-7.8.4 # For hstox.
|
|
- happy-1.19.5 # For hstox.
|
|
- libcv-dev # For av_test.
|
|
- libhighgui-dev # For av_test.
|
|
- libopencv-contrib-dev # For av_test.
|
|
- libsndfile1-dev # For av_test.
|
|
- libvpx-dev # For toxav.
|
|
- opam # For apidsl and Frama-C.
|
|
- aspcud # For Opam
|
|
- portaudio19-dev # For av_test.
|
|
- texinfo # For libconfig.
|
|
|
|
cache:
|
|
directories:
|
|
# Although Travis documentation says not to rely on the value of $HOME, we
|
|
# rely on it here because cabal installs its packages there by default. If
|
|
# that ever changes, these values need to be updated.
|
|
# Note that we can't use shell expressions in these paths, so we can't ask
|
|
# cabal where its data is stored.
|
|
- $HOME/.cabal
|
|
- $HOME/.ghc
|
|
- $HOME/cache
|
|
- /opt/freebsd/cache
|
|
|
|
install: other/travis/phase $JOB $ENV install
|
|
script: other/travis/phase $JOB $ENV script
|
|
after_script: other/travis/phase $JOB $ENV after_script
|
|
after_failure: other/travis/phase $JOB $ENV after_failure
|
|
|
|
notifications:
|
|
irc:
|
|
channels:
|
|
- "chat.freenode.net#toktok-status"
|
|
template:
|
|
- "%{result} %{repository_name} %{build_url}"
|
|
- "#%{build_number} changes: %{compare_url}"
|
|
|
|
branches:
|
|
only:
|
|
- master
|