2016-01-26 15:46:35 +08:00
sudo : required
2019-10-10 17:00:43 +08:00
dist : xenial
2016-01-26 15:46:35 +08:00
language : cpp
2017-01-12 05:06:05 +08:00
cache : ccache
2016-08-11 03:34:27 +08:00
2019-08-29 16:19:11 +08:00
# regex is for master, release branches, and release tags
2016-11-14 06:34:30 +08:00
branches :
only :
- master
2019-08-29 16:19:11 +08:00
- /^v\d+\.\d+-dev$/
2016-11-14 06:34:30 +08:00
- /^v(\d+\.){2}\d+$/
2019-03-17 23:03:31 +08:00
stages :
- Linux
- name : "Windows Stage 1: Dependencies (OpenSSL, Qt)"
2019-06-15 16:56:34 +08:00
if : type = push OR type = cron
2019-03-17 23:03:31 +08:00
- name : "Windows Stage 2: Dependencies (other)"
2019-06-15 16:56:34 +08:00
if : type = push OR type = cron
2019-03-17 23:03:31 +08:00
- name : "Windows Stage 3: qTox"
2019-06-15 16:56:34 +08:00
if : type = push OR type = cron
2019-03-17 23:03:31 +08:00
2019-05-26 22:52:09 +08:00
env :
global :
- CIRP_GITHUB_REPO_SLUG="qTox/qTox-nightly-releases"
2019-03-17 23:03:31 +08:00
jobs :
2016-08-11 03:34:27 +08:00
include :
2017-10-14 19:55:44 +08:00
- stage : Linux
os : linux
2016-08-11 03:34:27 +08:00
env : JOB=verify-commit-format
2019-03-17 23:03:31 +08:00
script : "./.travis/$JOB.sh"
2017-10-14 19:55:44 +08:00
- stage : Linux
os : linux
2016-08-11 17:51:53 +08:00
env : JOB=build-docs DOXYGEN_CONFIG_FILE=doxygen.conf
2019-03-17 23:03:31 +08:00
script : "./.travis/$JOB.sh"
2017-10-14 19:55:44 +08:00
- stage : Linux
os : linux
2016-12-15 04:31:36 +08:00
env : JOB=build-gitstats GITSTATS_DIR=gitstats
addons :
apt :
packages :
- gitstats
2019-03-17 23:03:31 +08:00
script : "./.travis/$JOB.sh"
2016-12-15 04:31:36 +08:00
# the actual compilin'
2017-10-14 19:55:44 +08:00
- stage : Linux
os : linux
2019-10-10 17:00:43 +08:00
env : JOB=build-ubuntu-16-04
2021-03-01 06:19:24 +08:00
addons :
apt :
2021-03-22 13:50:43 +08:00
packages :
2021-03-01 06:19:24 +08:00
- lcov
2019-03-17 23:03:31 +08:00
script : "./.travis/$JOB.sh"
2021-03-01 06:19:24 +08:00
after_success :
# Create lcov report
2021-03-22 13:50:43 +08:00
- lcov --directory _build --capture --output-file coverage.info
2021-03-01 06:19:24 +08:00
# Filter out system headers and test sources
- lcov --remove coverage.info '/usr/*' '*/test/*' '*/*_autogen/*' --output-file coverage.info
# Upload report to codecov.io
- bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports"
2017-10-14 19:55:44 +08:00
- stage : "Windows Stage 1: Dependencies (OpenSSL, Qt)"
os : linux
# Makes the cache this job creates avaiable only to jobs with WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686,
# making sure that i686 and x86_64 caches don't overwrite each other
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686
script : ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage1
services :
- docker
cache :
directories :
- /opt/build-windows/i686
- stage : "Windows Stage 1: Dependencies (OpenSSL, Qt)"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64
script : ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage1
services :
- docker
cache :
directories :
- /opt/build-windows/x86_64
- stage : "Windows Stage 2: Dependencies (other)"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686
script : ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage2
services :
- docker
cache :
directories :
- /opt/build-windows/i686
- stage : "Windows Stage 2: Dependencies (other)"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64
script : ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage2
services :
- docker
cache :
directories :
- /opt/build-windows/x86_64
- stage : "Windows Stage 3: qTox"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686
2019-05-26 22:52:09 +08:00
script :
- ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage3
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./workspace/i686/qtox/release/{setup-qtox-i686-release.exe,setup-qtox-i686-release.exe.sha256,qtox-i686-release.zip,qtox-i686-release.zip.sha256} "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2017-10-14 19:55:44 +08:00
services :
- docker
cache :
directories :
- /opt/build-windows/i686
- stage : "Windows Stage 3: qTox"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64
2019-05-26 22:52:09 +08:00
script :
- ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage3
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./workspace/x86_64/qtox/release/{setup-qtox-x86_64-release.exe,setup-qtox-x86_64-release.exe.sha256,qtox-x86_64-release.zip,qtox-x86_64-release.zip.sha256} "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2017-10-14 19:55:44 +08:00
services :
- docker
cache :
directories :
- /opt/build-windows/x86_64
- stage : "Windows Stage 3: qTox"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686
2019-05-26 22:52:09 +08:00
script :
- ./.travis/build-windows.sh i686 debug /opt/build-windows/i686 stage3
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./workspace/i686/qtox/debug/{qtox-i686-debug.zip,qtox-i686-debug.zip.sha256} "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2017-10-14 19:55:44 +08:00
services :
- docker
cache :
directories :
- /opt/build-windows/i686
- stage : "Windows Stage 3: qTox"
os : linux
env : WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64
2019-05-26 22:52:09 +08:00
script :
- ./.travis/build-windows.sh x86_64 debug /opt/build-windows/x86_64 stage3
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./workspace/x86_64/qtox/debug/{qtox-x86_64-debug.zip,qtox-x86_64-debug.zip.sha256} "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2017-10-14 19:55:44 +08:00
services :
- docker
cache :
directories :
- /opt/build-windows/x86_64
2018-05-06 19:52:49 +08:00
- stage : "macOS, AppImage and Flatpak"
2017-10-14 19:55:44 +08:00
os : osx
2020-11-21 18:36:46 +08:00
osx_image : xcode10.2 # macOS 10.14, oldest supported SDK according to https://developer.apple.com/support/xcode/
2016-08-11 03:34:27 +08:00
env : JOB=build-osx
2019-03-18 01:09:12 +08:00
cache :
2019-03-23 19:01:40 +08:00
timeout : 300 # seconds
2019-03-18 01:09:12 +08:00
ccache : true
directories :
- $HOME/Library/Caches/Homebrew
2020-11-07 03:45:36 +08:00
addons :
homebrew :
brewfile : ./osx/Brewfile
update : true
2019-03-18 01:09:12 +08:00
before_cache :
- brew cleanup
2019-05-26 22:52:09 +08:00
script :
- "./.travis/$JOB.sh"
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./{qTox.dmg,qTox.dmg.sha256} "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2018-05-06 19:52:49 +08:00
- stage : "macOS, AppImage and Flatpak"
2018-04-14 18:22:49 +08:00
os : linux
2018-05-09 04:26:17 +08:00
env : JOB=APPIMAGE
2019-05-26 22:52:09 +08:00
script :
- ./appimage/build-appimage.sh
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./output/* "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2018-04-14 18:22:49 +08:00
services :
- docker
2018-05-06 19:52:49 +08:00
- stage : "macOS, AppImage and Flatpak"
os : linux
env : JOB=FLATPAK
2019-05-26 22:52:09 +08:00
script :
- ./flatpak/build-flatpak.sh
- export ARTIFACTS_DIR="$(mktemp -d)"
- cp -a ./output/* "$ARTIFACTS_DIR"
- .travis/cirp/cleanup1.sh
- .travis/cirp/store.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup2.sh
2018-05-06 19:52:49 +08:00
services :
- docker
2019-05-26 22:52:09 +08:00
- stage : "Nightly publishing"
if : type == cron
script :
- export ARTIFACTS_DIR="$(mktemp -d)"
- .travis/cirp/collect.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup4.sh
- .travis/cirp/publish.sh "$ARTIFACTS_DIR"
- .travis/cirp/cleanup5.sh
cache :
directories :
- /opt/cirp
2016-08-11 03:34:27 +08:00
2019-03-17 23:03:31 +08:00
2016-07-03 18:41:21 +08:00
2016-05-29 07:21:53 +08:00
deploy :
2018-05-09 04:26:17 +08:00
# Linux AppImage
- provider : releases
2020-04-26 17:55:01 +08:00
# This is the access token for pushing release builds on Tags
# Owner: sudden6
# See https://docs.travis-ci.com/user/deployment/releases/#authenticating-with-an-oauth-token
2020-04-26 18:56:05 +08:00
token :
2020-04-26 17:55:01 +08:00
secure : "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
2018-07-04 06:54:31 +08:00
file_glob : true
file : ./output/*
2018-05-09 04:26:17 +08:00
on :
condition : $JOB == APPIMAGE
repo : qTox/qTox
tags : true
skip_cleanup : true
2020-04-25 00:55:55 +08:00
draft : true
2018-05-09 04:26:17 +08:00
2018-07-04 07:00:04 +08:00
# Linux Flatpak
- provider : releases
2020-04-26 18:56:05 +08:00
token :
2020-04-26 17:55:01 +08:00
secure : "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
2018-07-04 07:00:04 +08:00
file_glob : true
file : ./output/*
on :
condition : $JOB == FLATPAK
repo : qTox/qTox
tags : true
skip_cleanup : true
2020-04-25 00:55:55 +08:00
draft : true
2018-07-04 07:00:04 +08:00
2016-12-08 10:16:26 +08:00
# osx binary
2017-02-05 21:11:13 +08:00
- provider : releases
2020-04-26 18:56:05 +08:00
token :
2020-04-26 17:55:01 +08:00
secure : "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
2020-04-26 18:56:05 +08:00
file :
- "./qTox.dmg"
- "./qTox.dmg.sha256"
2017-02-05 21:11:13 +08:00
on :
condition : $TRAVIS_OS_NAME == osx
repo : qTox/qTox
tags : true
skip_cleanup : true
2020-04-25 00:55:55 +08:00
draft : true
2016-08-11 00:19:20 +08:00
2018-03-18 21:37:30 +08:00
# Windows Installer 64Bit
- provider : releases
2020-04-26 18:56:05 +08:00
token :
2020-04-26 17:55:01 +08:00
secure : "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
2020-04-26 18:56:05 +08:00
file :
- "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe"
- "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe.sha256"
2018-03-18 21:37:30 +08:00
on :
condition : $WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE == x86_64 && -f /home/travis/build/qTox/qTox/stage3 && -f /home/travis/build/qTox/qTox/release
repo : qTox/qTox
tags : true
skip_cleanup : true
2020-04-25 00:55:55 +08:00
draft : true
2018-03-18 21:37:30 +08:00
# Windows Installer 32Bit
- provider : releases
2020-04-26 18:56:05 +08:00
token :
2020-04-26 17:55:01 +08:00
secure : "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
2020-04-26 18:56:05 +08:00
file :
- "./workspace/i686/qtox/release/setup-qtox-i686-release.exe"
- "./workspace/i686/qtox/release/setup-qtox-i686-release.exe.sha256"
2018-03-18 21:37:30 +08:00
on :
condition : $WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE == i686 && -f /home/travis/build/qTox/qTox/stage3 && -f /home/travis/build/qTox/qTox/release
repo : qTox/qTox
tags : true
skip_cleanup : true
2020-04-25 00:55:55 +08:00
draft : true
2018-03-18 21:37:30 +08:00
2016-08-11 00:19:20 +08:00
after_success :
2016-12-18 01:47:55 +08:00
- >
2020-02-22 14:57:58 +08:00
test "$TRAVIS_PULL_REQUEST" == "false"
&& test "$TRAVIS_BRANCH" == "master"
&& test "$JOB" == "build-docs"
2016-12-18 01:47:55 +08:00
&& bash ./.travis/deploy-docs.sh
- >
2020-02-22 14:57:58 +08:00
test "$TRAVIS_PULL_REQUEST" == "false"
&& test "$TRAVIS_BRANCH" == "master"
&& test "$JOB" == "build-gitstats"
2016-12-18 01:47:55 +08:00
&& bash ./.travis/deploy-gitstats.sh