language: cpp cache: ccache conditions: v1 matrix: fast_finish: true include: - os: linux dist: xenial group: stable env: BUILDTYPE=Debug if: tag IS NOT present - os: linux dist: xenial group: stable env: BUILDTYPE=Release if: (branch = master AND NOT type = pull_request) OR tag IS present - os: osx osx_image: xcode8 env: BUILDTYPE=Debug if: tag IS NOT present - os: osx osx_image: xcode8 env: BUILDTYPE=Release if: (branch = master AND NOT type = pull_request) OR tag IS present #install dependencies for container-based "linux" builds addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main' key_url: 'http://llvm.org/apt/llvm-snapshot.gpg.key' packages: - bc - clang-format-5.0 - cmake - libprotobuf-dev - protobuf-compiler - qt5-default - qttools5-dev - qttools5-dev-tools - qtmultimedia5-dev - libqt5multimedia5-plugins - libqt5svg5-dev - libqt5sql5-mysql - libqt5websockets5-dev before_install: bash ./.ci/travis-dependencies.sh script: bash ./.ci/travis-compile.sh # 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: webhooks: urls: - https://webhooks.gitter.im/e/d94969c3b01b22cbdcb7 on_success: change on_failure: change on_start: never on_cancel: change on_error: change # official validator for ".travis.yml" config file: https://yaml.travis-ci.org # travis config documentation: https://docs.travis-ci.com/user/customizing-the-build