mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
67cf395163
We will only build this during the nightly build. It's very rare for the autotools build to break when the cmake build does not.
105 lines
3.1 KiB
YAML
105 lines
3.1 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=toxcore ENV=linux
|
|
compiler: clang
|
|
addons:
|
|
apt: &apt-dependencies
|
|
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.
|
|
- stage: "Stage 1"
|
|
if: type IN (push, api, cron)
|
|
env: JOB=autotools ENV=linux
|
|
compiler: gcc
|
|
addons:
|
|
apt: *apt-dependencies
|
|
- stage: "Stage 1"
|
|
if: type IN (push, api, cron)
|
|
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
|
|
|
|
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
|