* properly capitalize set types like Duel Deck and From the Vault * add more tiny words * update macos for travis (slower build times)
167 lines
5.5 KiB
YAML
167 lines
5.5 KiB
YAML
language: cpp
|
|
compiler: gcc
|
|
|
|
git:
|
|
depth: 15
|
|
|
|
matrix:
|
|
include:
|
|
#Ubuntu Xenial (Debug only)
|
|
- name: Ubuntu Xenial (Debug)
|
|
if: tag IS NOT present
|
|
os: linux
|
|
dist: xenial
|
|
group: stable
|
|
cache: ccache
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libprotobuf-dev
|
|
- protobuf-compiler
|
|
- liblzma-dev
|
|
- qt5-default
|
|
- qttools5-dev
|
|
- qttools5-dev-tools
|
|
- qtmultimedia5-dev
|
|
- libqt5multimedia5-plugins
|
|
- libqt5svg5-dev
|
|
- libqt5sql5-mysql
|
|
- libqt5websockets5-dev
|
|
script: bash ./.ci/travis-compile.sh --format --server --test --debug
|
|
|
|
#Ubuntu Bionic (on docker)
|
|
- name: Ubuntu Bionic (Debug)
|
|
if: tag IS NOT present
|
|
services: docker
|
|
env: NAME=UbuntuBionic
|
|
cache:
|
|
directories:
|
|
- $HOME/$NAME/
|
|
before_install: docker build -t "cockatrice_${NAME,,}" .ci/$NAME && mkdir -p $HOME/$NAME/.ccache
|
|
script: docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src"
|
|
--mount "type=bind,source=$HOME/$NAME/.ccache,target=/.ccache" -e "CCACHE_DIR=/.ccache"
|
|
"cockatrice_${NAME,,}"
|
|
bash .ci/travis-compile.sh --server --debug
|
|
|
|
- name: Ubuntu Bionic (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
services: docker
|
|
env: NAME=UbuntuBionic
|
|
cache:
|
|
directories:
|
|
- $HOME/$NAME/
|
|
before_install: docker build -t "cockatrice_${NAME,,}" .ci/$NAME && mkdir -p $HOME/$NAME/.ccache
|
|
script: docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src"
|
|
--mount "type=bind,source=$HOME/$NAME/.ccache,target=/.ccache" -e "CCACHE_DIR=/.ccache"
|
|
"cockatrice_${NAME,,}"
|
|
bash .ci/travis-compile.sh --server --package "$NAME" --release
|
|
|
|
#Fedora 29 (on docker)
|
|
- name: Fedora 29 (Debug)
|
|
if: tag IS NOT present
|
|
services: docker
|
|
env: NAME=Fedora29
|
|
cache:
|
|
directories:
|
|
- $HOME/$NAME/
|
|
before_install: docker build -t "cockatrice_${NAME,,}" .ci/$NAME && mkdir -p $HOME/$NAME/.ccache
|
|
script: docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src"
|
|
--mount "type=bind,source=$HOME/$NAME/.ccache,target=/.ccache" -e "CCACHE_DIR=/.ccache"
|
|
"cockatrice_${NAME,,}"
|
|
bash .ci/travis-compile.sh --server --debug
|
|
|
|
- name: Fedora 29 (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
services: docker
|
|
env: NAME=Fedora29
|
|
cache:
|
|
directories:
|
|
- $HOME/$NAME/
|
|
before_install: docker build -t "cockatrice_${NAME,,}" .ci/$NAME && mkdir -p $HOME/$NAME/.ccache
|
|
script: docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src"
|
|
--mount "type=bind,source=$HOME/$NAME/.ccache,target=/.ccache" -e "CCACHE_DIR=/.ccache"
|
|
"cockatrice_${NAME,,}"
|
|
bash .ci/travis-compile.sh --server --package "$NAME" "RPM" --release
|
|
|
|
#macOS
|
|
- name: macOS (Debug)
|
|
if: tag IS NOT present
|
|
os: osx
|
|
osx_image: xcode10.1
|
|
cache: ccache
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- protobuf
|
|
- qt
|
|
- xz
|
|
update: true
|
|
script: bash ./.ci/travis-compile.sh --server --install --debug
|
|
|
|
- name: macOS (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: osx
|
|
osx_image: xcode9.2
|
|
cache: ccache
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- protobuf
|
|
- qt
|
|
- xz
|
|
update: true
|
|
script: bash ./.ci/travis-compile.sh --server --package "$TRAVIS_OS_NAME" --release
|
|
|
|
# Builds for pull requests skip the deployment step altogether
|
|
deploy:
|
|
# Deploy configuration for "beta" releases
|
|
- provider: releases
|
|
api_key:
|
|
secure: mLMF41q7xgOR1sjczsilEy7HQis2PkZCzhfOGbn/8FoOQnmmPOZjrsdhn06ZSl3SFsbfCLuClDYXAbFscQmdgjcGN5AmHV+JYfW650QEuQa/f4/lQFsVRtEqUA1O3FQ0OuRxdpCfJubZBdFVH8SbZ93GLC5zXJbkWQNq+xCX1fU=
|
|
skip_cleanup: true
|
|
name: "Cockatrice $TRAVIS_TAG"
|
|
body: "Beta release of Cockatrice"
|
|
file_glob: true
|
|
file: "build/Cockatrice-*"
|
|
overwrite: true
|
|
draft: false
|
|
prerelease: true
|
|
on:
|
|
tags: true
|
|
repo: Cockatrice/Cockatrice
|
|
condition: $TRAVIS_TAG =~ ([0-9]|[1-9][0-9])(\.([0-9]|[1-9][0-9])){2}-beta(\.([2-9]|[1-9][0-9]))?$ # regex to match semver naming convention for beta pre-releases
|
|
|
|
# Deploy configuration for "stable" releases
|
|
- provider: releases
|
|
api_key:
|
|
secure: mLMF41q7xgOR1sjczsilEy7HQis2PkZCzhfOGbn/8FoOQnmmPOZjrsdhn06ZSl3SFsbfCLuClDYXAbFscQmdgjcGN5AmHV+JYfW650QEuQa/f4/lQFsVRtEqUA1O3FQ0OuRxdpCfJubZBdFVH8SbZ93GLC5zXJbkWQNq+xCX1fU=
|
|
skip_cleanup: true
|
|
file_glob: true
|
|
file: "build/Cockatrice-*"
|
|
overwrite: true
|
|
draft: false
|
|
prerelease: false
|
|
on:
|
|
tags: true
|
|
repo: Cockatrice/Cockatrice
|
|
condition: $TRAVIS_TAG =~ ([0-9]|[1-9][0-9])(\.([0-9]|[1-9][0-9])){2}$ # regex to match semver naming convention for stable full releases
|
|
|
|
|
|
notifications:
|
|
email: false
|
|
webhooks:
|
|
urls:
|
|
- https://webhooks.gitter.im/e/d94969c3b01b22cbdcb7
|
|
on_success: change
|
|
on_failure: change
|
|
on_start: never
|
|
on_cancel: change
|
|
on_error: change
|
|
|
|
|
|
# Announcements of build image updates: https://docs.travis-ci.com/user/build-environment-updates/
|
|
# For precise versions of preinstalled tools on the VM, check “Build system information” in the build log!
|
|
# Official validator for ".travis.yml" config file: https://yaml.travis-ci.org
|
|
# Travis CI config documentation: https://docs.travis-ci.com/user/customizing-the-build
|