toxcore/.travis.yml

114 lines
3.6 KiB
YAML
Raw Normal View History

---
# 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.
2013-06-25 08:56:38 +08:00
language: c
matrix:
include:
- stage: "Stage 1"
env: JOB=cmake-linux
compiler: gcc
addons:
apt:
packages:
- 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.
- portaudio19-dev # For av_test.
install: .travis/$JOB install
script: .travis/$JOB script
after_script: .travis/upload-coverage
- stage: "Stage 1"
env: JOB=autotools-linux
compiler: clang
addons:
apt:
packages:
- libconfig-dev # For tox-bootstrapd.
- libopus-dev # For toxav.
- libvpx-dev # For toxav.
install: .travis/$JOB install
script: .travis/$JOB script
- stage: "Stage 1"
env: JOB=bazel-linux
compiler: clang
addons:
apt:
packages:
- libcv-dev # For av_test.
- libhighgui-dev # For av_test.
- libopencv-contrib-dev # For av_test.
before_install:
# Clear bazel installation.
- rm -rf $HOME/.cache/bazel/_bazel_$USER/install
# Get toktok-stack, which contains the bazel workspace.
- cd ..
- git clone https://github.com/TokTok/toktok-stack
- rm -rf toktok-stack/c-toxcore
- mv c-toxcore toktok-stack/
- cd toktok-stack/c-toxcore
install: .travis/$JOB install
script: .travis/$JOB script
before_cache:
# Clear bazel installation.
- rm -rf $HOME/.cache/bazel/_bazel_$USER/install
- stage: "Stage 1"
if: type IN (push, api, cron)
env: JOB=cmake-win32
services: [docker]
install: .travis/$JOB install
script: .travis/$JOB script
- stage: "Stage 1"
if: type IN (push, api, cron)
env: JOB=cmake-win64
services: [docker]
install: .travis/$JOB install
script: .travis/$JOB script
# - stage: "Stage 1"
# env: JOB=cmake-freebsd
# if: type IN (push, api, cron)
# sudo: required
# install: .travis/$JOB-stage1 install
# script: .travis/$JOB-stage1 script
- stage: "Stage 1"
if: type IN (push, api, cron)
env: JOB=cmake-osx
os: osx
install: .travis/$JOB install
script: .travis/$JOB script
- stage: "Stage 1"
if: type IN (push, api, cron)
env: JOB=tox-bootstrapd-docker
services: [docker]
script: .travis/$JOB
# - stage: "Stage 2"
# env: JOB=cmake-freebsd
# if: type IN (push, api, cron)
# sudo: required
# install: .travis/$JOB-stage2 install
# script: .travis/$JOB-stage2 script
fast_finish: true
2013-06-25 08:56:38 +08:00
cache:
directories:
- $HOME/.cache/bazel
- $HOME/cache
- /opt/freebsd/cache
notifications:
2016-10-31 02:29:14 +08:00
irc:
channels:
- "chat.freenode.net#toktok-status"
2016-10-31 02:29:14 +08:00
template:
- "%{result} %{repository_name} %{build_url}"
- "#%{build_number} changes: %{compare_url}"