mirror of https://github.com/qTox/qTox.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
282 lines
9.5 KiB
282 lines
9.5 KiB
sudo: required |
|
dist: xenial |
|
language: cpp |
|
cache: ccache |
|
|
|
# regex is for master, release branches, and release tags |
|
branches: |
|
only: |
|
- master |
|
- /^v\d+\.\d+-dev$/ |
|
- /^v(\d+\.){2}\d+$/ |
|
|
|
stages: |
|
- Linux |
|
- name: "Windows Stage 1: Dependencies (OpenSSL, Qt)" |
|
if: type = push OR type = cron |
|
- name: "Windows Stage 2: Dependencies (other)" |
|
if: type = push OR type = cron |
|
- name: "Windows Stage 3: qTox" |
|
if: type = push OR type = cron |
|
|
|
env: |
|
global: |
|
- CIRP_GITHUB_REPO_SLUG="qTox/qTox-nightly-releases" |
|
|
|
jobs: |
|
include: |
|
- stage: Linux |
|
os: linux |
|
env: JOB=verify-commit-format |
|
script: "./.travis/$JOB.sh" |
|
- stage: Linux |
|
os: linux |
|
env: JOB=build-docs DOXYGEN_CONFIG_FILE=doxygen.conf |
|
script: "./.travis/$JOB.sh" |
|
- stage: Linux |
|
os: linux |
|
env: JOB=build-gitstats GITSTATS_DIR=gitstats |
|
addons: |
|
apt: |
|
packages: |
|
- gitstats |
|
script: "./.travis/$JOB.sh" |
|
# the actual compilin' |
|
- stage: Linux |
|
os: linux |
|
env: JOB=build-ubuntu-16-04 |
|
script: "./.travis/$JOB.sh" |
|
- 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 |
|
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 |
|
services: |
|
- docker |
|
cache: |
|
directories: |
|
- /opt/build-windows/i686 |
|
- stage: "Windows Stage 3: qTox" |
|
os: linux |
|
env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 |
|
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 |
|
services: |
|
- docker |
|
cache: |
|
directories: |
|
- /opt/build-windows/x86_64 |
|
- stage: "Windows Stage 3: qTox" |
|
os: linux |
|
env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686 |
|
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 |
|
services: |
|
- docker |
|
cache: |
|
directories: |
|
- /opt/build-windows/i686 |
|
- stage: "Windows Stage 3: qTox" |
|
os: linux |
|
env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 |
|
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 |
|
services: |
|
- docker |
|
cache: |
|
directories: |
|
- /opt/build-windows/x86_64 |
|
- stage: "macOS, AppImage and Flatpak" |
|
os: osx |
|
osx_image: xcode9.3 |
|
env: JOB=build-osx |
|
cache: |
|
timeout: 300 # seconds |
|
ccache: true |
|
directories: |
|
- $HOME/Library/Caches/Homebrew |
|
before_cache: |
|
- brew cleanup |
|
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 |
|
- stage: "macOS, AppImage and Flatpak" |
|
os: linux |
|
env: JOB=APPIMAGE |
|
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 |
|
services: |
|
- docker |
|
- stage: "macOS, AppImage and Flatpak" |
|
os: linux |
|
env: JOB=FLATPAK |
|
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 |
|
services: |
|
- docker |
|
- 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 |
|
|
|
|
|
|
|
deploy: |
|
# Linux AppImage |
|
- provider: releases |
|
# 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 |
|
api_key: |
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js=" |
|
file_glob: true |
|
file: ./output/* |
|
on: |
|
condition: $JOB == APPIMAGE |
|
repo: qTox/qTox |
|
tags: true |
|
skip_cleanup: true |
|
draft: true |
|
|
|
# Linux Flatpak |
|
- provider: releases |
|
api_key: |
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js=" |
|
file_glob: true |
|
file: ./output/* |
|
on: |
|
condition: $JOB == FLATPAK |
|
repo: qTox/qTox |
|
tags: true |
|
skip_cleanup: true |
|
draft: true |
|
|
|
# osx binary |
|
- provider: releases |
|
api_key: |
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js=" |
|
file: "./qTox.dmg" |
|
file: "./qTox.dmg.sha256" |
|
on: |
|
condition: $TRAVIS_OS_NAME == osx |
|
repo: qTox/qTox |
|
tags: true |
|
skip_cleanup: true |
|
draft: true |
|
|
|
# Windows Installer 64Bit |
|
- provider: releases |
|
api_key: |
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js=" |
|
file: "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe" |
|
file: "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe.sha256" |
|
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 |
|
draft: true |
|
|
|
# Windows Installer 32Bit |
|
- provider: releases |
|
api_key: |
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js=" |
|
file: "./workspace/i686/qtox/release/setup-qtox-i686-release.exe" |
|
file: "./workspace/i686/qtox/release/setup-qtox-i686-release.exe.sha256" |
|
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 |
|
draft: true |
|
|
|
after_success: |
|
- > |
|
test "$TRAVIS_PULL_REQUEST" == "false" |
|
&& test "$TRAVIS_BRANCH" == "master" |
|
&& test "$JOB" == "build-docs" |
|
&& bash ./.travis/deploy-docs.sh |
|
- > |
|
test "$TRAVIS_PULL_REQUEST" == "false" |
|
&& test "$TRAVIS_BRANCH" == "master" |
|
&& test "$JOB" == "build-gitstats" |
|
&& bash ./.travis/deploy-gitstats.sh
|
|
|