* 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 * test making packages move dockerfile for bionic to make room for possibly other files add missing file dependency set macos brew to use protobuf --without-python@2 * remove test * rm old Dockerfile
114 lines
3.8 KiB
YAML
114 lines
3.8 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/UbuntuBionic
|
|
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
|
|
before_install: docker build -t img .ci/UbuntuBionic
|
|
script: 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 install ccache
|
|
- brew install protobuf --without-python@2
|
|
- 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 install ccache
|
|
- brew install protobuf --without-python@2
|
|
- 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
|