# 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 packages: - aspcud # For Opam - libconfig-dev # For tox-bootstrapd. - libcv-dev # For av_test. - libhighgui-dev # For av_test. - libopencv-contrib-dev # For av_test. - libopus-dev # For toxav. - libsndfile1-dev # For av_test. - libgtest-dev # For unit tests. - libvpx-dev # For toxav. - opam # For apidsl and Frama-C. - portaudio19-dev # For av_test. - 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=installmd ENV=windows SUPPORT_ARCH_i686=true SUPPORT_ARCH_x86_64=false SUPPORT_TEST=true ENABLE_ARCH_i686=true ENABLE_ARCH_x86_64=false ENABLE_TEST=true ALLOW_TEST_FAILURE=true services: - docker - stage: "Stage 1" if: type IN (push, api, cron) env: JOB=installmd ENV=windows SUPPORT_ARCH_i686=false SUPPORT_ARCH_x86_64=true SUPPORT_TEST=true ENABLE_ARCH_i686=false ENABLE_ARCH_x86_64=true ENABLE_TEST=true ALLOW_TEST_FAILURE=true 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: - $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}"