* add docker compilation to travis add new matrix entry in .travis.yml for compiling on 18.04 add Dockerfile in .ci to build ubuntu 18.04 inside docker remove release entry for uvuntu 16.04 to not conflict refactor .travis.yml refactor travis-comile.sh merge travis-dependencies.sh into the travis.yml remove travis-dependencies.sh * enable debugging on travis-compile.sh * set ubuntu16 buildtype to "Debug" set buildtype Debug for as requirement for "test" add --debug and --release flags to travis-compile.sh * make output prettier edit the format warning message and clangify.sh output * fix clangify.sh fix --cf-version flag fix directory argument parsing add directory parsing details to --help add examples to --help
118 lines
3.9 KiB
YAML
118 lines
3.9 KiB
YAML
language: cpp
|
|
compiler: gcc
|
|
cache: ccache
|
|
|
|
matrix:
|
|
include:
|
|
#Ubuntu Bionic (on docker)
|
|
- name: Ubuntu Bionic (Debug)
|
|
if: tag IS NOT present
|
|
services: docker
|
|
before_install: docker build -t img .ci
|
|
script: docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src" img
|
|
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
|
|
script: docker build -t img .ci &&
|
|
docker run --mount "type=bind,source=$(pwd),target=/src" -w="/src" img
|
|
bash .ci/travis-compile.sh --server --package --release
|
|
|
|
#Ubuntu Xenial (Debug only)
|
|
- name: Ubuntu Xenial (Debug)
|
|
if: tag IS NOT present
|
|
os: linux
|
|
dist: xenial
|
|
group: stable
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libprotobuf-dev
|
|
- protobuf-compiler
|
|
- 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
|
|
|
|
#macOS
|
|
- name: macOS (Debug)
|
|
os: osx
|
|
osx_image: xcode8
|
|
before_install:
|
|
- brew update
|
|
- brew update
|
|
- brew install ccache
|
|
- brew unlink python # protobuf python2 install requires this link to be removed
|
|
- brew install protobuf
|
|
- brew install qt
|
|
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: xcode8
|
|
before_install:
|
|
- brew update
|
|
- brew update
|
|
- brew install ccache
|
|
- brew unlink python # protobuf python2 install requires this link to be removed
|
|
- brew install protobuf
|
|
- brew install qt
|
|
script: bash ./.ci/travis-compile.sh --server --package --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: $BUILDTYPE = Release && $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: $BUILDTYPE = Release && $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
|