mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
290 lines
9.7 KiB
YAML
290 lines
9.7 KiB
YAML
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: xcode10.2 # macOS 10.14, oldest supported SDK according to https://developer.apple.com/support/xcode/
|
|
env: JOB=build-osx
|
|
cache:
|
|
timeout: 300 # seconds
|
|
ccache: true
|
|
directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
addons:
|
|
homebrew:
|
|
brewfile: ./osx/Brewfile
|
|
update: true
|
|
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
|
|
token:
|
|
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
|
|
token:
|
|
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
|
|
token:
|
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
|
|
file:
|
|
- "./qTox.dmg"
|
|
- "./qTox.dmg.sha256"
|
|
on:
|
|
condition: $TRAVIS_OS_NAME == osx
|
|
repo: qTox/qTox
|
|
tags: true
|
|
skip_cleanup: true
|
|
draft: true
|
|
|
|
# Windows Installer 64Bit
|
|
- provider: releases
|
|
token:
|
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
|
|
file:
|
|
- "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe"
|
|
- "./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
|
|
token:
|
|
secure: "UAvVIUgfH8VGAzMsKk62yz26oqjNpUxEEyZ7OSjt09VoTMuepZd9wPmLCv0b+jFrk5BwQG9gpDzTD7vZ0Un1g1lGD23K801tvMRue/SO/KmOyeYrqd6o7MEFGb22qmmVoid/hqKLQFOxt/5HYj7fnCzG8EUuA9BvdWmsl4ir8Js="
|
|
file:
|
|
- "./workspace/i686/qtox/release/setup-qtox-i686-release.exe"
|
|
- "./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
|