2018-01-16 04:24:44 +08:00
|
|
|
# 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
|
2016-07-13 20:12:11 +08:00
|
|
|
|
2016-08-10 19:28:33 +08:00
|
|
|
matrix:
|
|
|
|
include:
|
2017-12-12 08:28:00 +08:00
|
|
|
- stage: "Stage 1"
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-linux
|
2018-03-17 13:02:33 +08:00
|
|
|
compiler: gcc
|
2018-01-16 06:13:56 +08:00
|
|
|
addons:
|
2018-06-25 06:56:07 +08:00
|
|
|
apt:
|
2018-01-16 06:13:56 +08:00
|
|
|
packages:
|
2018-02-04 08:06:47 +08:00
|
|
|
- libconfig-dev # For tox-bootstrapd.
|
2018-01-16 06:13:56 +08:00
|
|
|
- libcv-dev # For av_test.
|
|
|
|
- libhighgui-dev # For av_test.
|
|
|
|
- libopencv-contrib-dev # For av_test.
|
2018-02-04 08:06:47 +08:00
|
|
|
- libopus-dev # For toxav.
|
2018-01-16 06:13:56 +08:00
|
|
|
- libsndfile1-dev # For av_test.
|
2018-02-04 00:13:22 +08:00
|
|
|
- libgtest-dev # For unit tests.
|
2018-01-16 06:13:56 +08:00
|
|
|
- libvpx-dev # For toxav.
|
|
|
|
- portaudio19-dev # For av_test.
|
2018-06-25 06:56:07 +08:00
|
|
|
install: .travis/$JOB install
|
|
|
|
script: .travis/$JOB script
|
|
|
|
after_script: .travis/upload-coverage
|
2017-12-12 08:28:00 +08:00
|
|
|
- stage: "Stage 1"
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=autotools-linux
|
2018-03-17 13:02:33 +08:00
|
|
|
compiler: clang
|
2018-01-16 06:13:56 +08:00
|
|
|
addons:
|
2018-06-25 06:56:07 +08:00
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- libconfig-dev # For tox-bootstrapd.
|
|
|
|
- libopus-dev # For toxav.
|
|
|
|
- libvpx-dev # For toxav.
|
|
|
|
install: .travis/$JOB install
|
|
|
|
script: .travis/$JOB script
|
2018-07-11 00:12:10 +08:00
|
|
|
- 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.
|
|
|
|
- portaudio19-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
|
2017-03-04 11:52:18 +08:00
|
|
|
- stage: "Stage 1"
|
|
|
|
if: type IN (push, api, cron)
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-win32
|
|
|
|
services: [docker]
|
|
|
|
install: .travis/$JOB install
|
|
|
|
script: .travis/$JOB script
|
2017-03-04 11:52:18 +08:00
|
|
|
- stage: "Stage 1"
|
|
|
|
if: type IN (push, api, cron)
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-win64
|
|
|
|
services: [docker]
|
|
|
|
install: .travis/$JOB install
|
|
|
|
script: .travis/$JOB script
|
2017-12-12 08:28:00 +08:00
|
|
|
- stage: "Stage 1"
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-freebsd
|
2018-07-08 22:22:32 +08:00
|
|
|
if: type IN (push, api, cron)
|
2017-12-12 08:28:00 +08:00
|
|
|
sudo: required
|
2018-06-25 06:56:07 +08:00
|
|
|
install: .travis/$JOB-stage1 install
|
|
|
|
script: .travis/$JOB-stage1 script
|
2017-12-13 12:39:51 +08:00
|
|
|
- stage: "Stage 1"
|
2018-01-16 04:24:44 +08:00
|
|
|
if: type IN (push, api, cron)
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=tox-bootstrapd-docker
|
|
|
|
services: [docker]
|
|
|
|
script: .travis/$JOB
|
2017-12-12 08:28:00 +08:00
|
|
|
- stage: "Stage 2"
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-freebsd
|
2018-07-08 22:22:32 +08:00
|
|
|
if: type IN (push, api, cron)
|
2017-03-08 17:10:46 +08:00
|
|
|
sudo: required
|
2018-06-25 06:56:07 +08:00
|
|
|
install: .travis/$JOB-stage2 install
|
|
|
|
script: .travis/$JOB-stage2 script
|
2017-12-12 08:28:00 +08:00
|
|
|
- stage: "Stage 2"
|
2018-01-16 04:24:44 +08:00
|
|
|
if: type IN (push, api, cron)
|
2018-06-25 06:56:07 +08:00
|
|
|
env: JOB=cmake-osx
|
2017-12-12 08:28:00 +08:00
|
|
|
os: osx
|
2018-06-25 06:56:07 +08:00
|
|
|
install: .travis/$JOB install
|
|
|
|
script: .travis/$JOB script
|
2016-09-22 21:42:29 +08:00
|
|
|
fast_finish: true
|
2013-06-25 08:56:38 +08:00
|
|
|
|
2016-07-06 16:47:13 +08:00
|
|
|
cache:
|
|
|
|
directories:
|
2018-07-11 00:12:10 +08:00
|
|
|
- $HOME/.cache/bazel
|
2017-06-05 02:34:15 +08:00
|
|
|
- $HOME/cache
|
2017-03-08 17:10:46 +08:00
|
|
|
- /opt/freebsd/cache
|
2016-07-06 16:47:13 +08:00
|
|
|
|
2016-07-13 03:32:35 +08:00
|
|
|
notifications:
|
2016-10-31 02:29:14 +08:00
|
|
|
irc:
|
|
|
|
channels:
|
2017-06-05 02:34:15 +08:00
|
|
|
- "chat.freenode.net#toktok-status"
|
2016-10-31 02:29:14 +08:00
|
|
|
template:
|
2017-06-05 02:34:15 +08:00
|
|
|
- "%{result} %{repository_name} %{build_url}"
|
|
|
|
- "#%{build_number} changes: %{compare_url}"
|