800b0f4b2f
homebrew no longer provides a bottle for protobuf, which is so big we can't do without a precompiled version. This means we can no longer support sierra 10.12 and have to use high sierra 10.13, this does not seems like a very painful grade however as there are no differences in hardware requirements between the two and any user on sierra can upgrade to high sierra if they wanted to.
138 lines
4.1 KiB
YAML
138 lines
4.1 KiB
YAML
language: cpp
|
|
compiler: gcc
|
|
|
|
git:
|
|
depth: 15
|
|
|
|
matrix:
|
|
include:
|
|
|
|
#Static Code Analysis
|
|
- name: Check code style / Linting
|
|
if: tag IS NOT present
|
|
os: linux
|
|
group: stable
|
|
script: bash ./.ci/travis-lint.sh
|
|
|
|
|
|
#Ubuntu Bionic (on Docker)
|
|
- name: Ubuntu Bionic (Debug + Tests)
|
|
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 --test --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
|
|
|
|
|
|
#macOS
|
|
- name: macOS (Debug)
|
|
if: tag IS NOT present
|
|
os: osx
|
|
osx_image: xcode10.1
|
|
cache:
|
|
- ccache
|
|
- directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- protobuf
|
|
- qt
|
|
- xz
|
|
update: true
|
|
script: bash ./.ci/travis-compile.sh --server --install --debug
|
|
before_cache:
|
|
- brew cleanup
|
|
|
|
- name: macOS (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: osx
|
|
osx_image: xcode10.1
|
|
cache:
|
|
- ccache
|
|
- directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- protobuf
|
|
- qt
|
|
- xz
|
|
update: true
|
|
script: bash ./.ci/travis-compile.sh --server --package "macos" --release
|
|
before_cache:
|
|
- brew cleanup
|
|
|
|
|
|
# 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
|