252 lines
6.6 KiB
YAML
252 lines
6.6 KiB
YAML
os: linux
|
|
dist: bionic
|
|
language: cpp
|
|
compiler: gcc
|
|
|
|
git:
|
|
depth: 15
|
|
|
|
jobs:
|
|
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
|
|
os: linux
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=UbuntuBionic CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server --test --debug
|
|
|
|
- name: Ubuntu Bionic (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: linux
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=UbuntuBionic CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server --package $NAME --release
|
|
|
|
|
|
#Debian Buster (on Docker)
|
|
- name: Debian Buster (Compile)
|
|
if: tag IS NOT present
|
|
os: linux
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=DebianBuster CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server
|
|
|
|
- name: Debian Buster (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: linux
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=DebianBuster CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server --package $NAME --release
|
|
|
|
|
|
#Fedora 31 (on docker)
|
|
- name: Fedora 31 (Compile)
|
|
if: tag IS NOT present
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=Fedora31 CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server
|
|
|
|
- name: Fedora 31 (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=Fedora31 CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server --package $NAME RPM --release
|
|
|
|
|
|
#macOS High Sierra
|
|
- name: macOS High Sierra (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 High Sierra (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: osx
|
|
osx_image: xcode10.1
|
|
env: OSX_VERSION=10.13
|
|
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$OSX_VERSION" --release
|
|
before_cache:
|
|
- brew cleanup
|
|
|
|
#macOS Mojave
|
|
- name: macOS Mojave (Debug)
|
|
if: tag IS NOT present
|
|
os: osx
|
|
osx_image: xcode11.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 Mojave (Release)
|
|
if: (branch = master AND NOT type = pull_request) OR tag IS present
|
|
os: osx
|
|
osx_image: xcode11.1
|
|
env: OSX_VERSION=10.14
|
|
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$OSX_VERSION" --release --zip
|
|
before_cache:
|
|
- brew cleanup
|
|
|
|
|
|
#Arch Linux (on Docker) (allow failures)
|
|
- name: Arch Linux (Debug)
|
|
if: tag IS NOT present
|
|
os: linux
|
|
services: docker
|
|
language: minimal
|
|
env: NAME=ArchLinux CACHE=$HOME/$NAME
|
|
cache:
|
|
directories:
|
|
- $CACHE
|
|
before_install: source .ci/travis-docker.sh --build
|
|
script: RUN --server --debug
|
|
|
|
allow_failures:
|
|
# Arch linux is always the latest version and by definition not stable
|
|
- name: Arch Linux (Debug)
|
|
# Report build completion even if optional builds are not completed
|
|
fast_finish: true
|
|
|
|
|
|
# Builds for pull requests skip the deployment step altogether
|
|
deploy:
|
|
# Deploy configuration for "beta" releases
|
|
- provider: releases
|
|
token:
|
|
secure: mLMF41q7xgOR1sjczsilEy7HQis2PkZCzhfOGbn/8FoOQnmmPOZjrsdhn06ZSl3SFsbfCLuClDYXAbFscQmdgjcGN5AmHV+JYfW650QEuQa/f4/lQFsVRtEqUA1O3FQ0OuRxdpCfJubZBdFVH8SbZ93GLC5zXJbkWQNq+xCX1fU=
|
|
name: "Cockatrice $TRAVIS_TAG"
|
|
release_notes: "Beta release of Cockatrice"
|
|
skip_cleanup: true
|
|
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
|
|
token:
|
|
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
|
|
# Official Travis CI Build Config Explorer: https://config.travis-ci.com/explore
|
|
# Travis CI config documentation: https://docs.travis-ci.com/user/customizing-the-build
|