# 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 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" env: JOB=toxcore ENV=linux compiler: clang 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