MegaGlest/.travis.yml

94 lines
3.6 KiB
YAML

# https://docs.travis-ci.com/user/customizing-the-build/
language: cpp
sudo: required
matrix:
include:
- os: linux
compiler: gcc
addons:
apt:
packages:
- libsdl2-dev
env: Tr_Compiler_Version="7"
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
dist: trusty # broken compiler on 12.04
- os: linux
compiler: gcc
addons:
apt:
packages:
- libsdl2-dev
env: Tr_Compiler_Version="default"
dist: trusty
- os: linux
compiler: clang
addons:
apt:
packages:
- libsdl2-dev
env: Tr_Compiler_Version="5.0"
# http://apt.llvm.org/, compiler not newer than available on debian testing
# https://packages.debian.org/search?suite=testing&keywords=clang-
dist: trusty
- os: linux
compiler: clang
addons:
apt:
packages:
- libsdl2-dev
env: Tr_Compiler_Version="default"
dist: trusty # broken compiler on 12.04
- os: osx
#osx_image: xcode6.4 # seems broken and has lower priority in queue than default one
env: Tr_Xcode_Version="default"
#env: Tr_Xcode_Version="6.4"
# https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version
# https://github.com/Homebrew/brew/blob/master/docs/Installation.md#requirements
fast_finish: true
allow_failures:
- os: osx
# it's not really acceptable to wait 40 minutes or sometimes up to even 3 hours
# for the result just because the queue for mac is always so long
git:
submodules: false
#branches:
# only:
# - master
before_install:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ./.travis-before_install.sh "$CC" "$Tr_Compiler_Version"; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install sdl2 lua freetype ftgl libogg glew libvorbis cppunit glib fribidi miniupnpc wxmac; fi
# ^ not on travis also needed are: cmake + pkgconfig + xquartz (find by "search") + (maybe) git + (maybe) bash
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew outdated cmake || brew upgrade cmake; brew outdated pkgconfig || brew upgrade pkgconfig; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew link --force gettext; fi
# ^ odd linking problems related with brew which is not creating links
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$Tr_Xcode_Version" = "6.4" ]; then brew install Caskroom/cask/xquartz; fi
- if [ "$Tr_Compiler_Version" != "" ] && [ "$Tr_Compiler_Version" != "default" ] && [ "$CC" = "gcc" ]; then export CXX="g++-${Tr_Compiler_Version}" CC="gcc-${Tr_Compiler_Version}"; fi
- if [ "$Tr_Compiler_Version" != "" ] && [ "$Tr_Compiler_Version" != "default" ] && [ "$CC" == "clang" ]; then export CXX="clang++-${Tr_Compiler_Version}" CC="clang-${Tr_Compiler_Version}"; fi
- $CC --version
- $CXX --version
- cmake --version
script:
# ALL THE BUILD COMMANDS HERE
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$(echo "$CC" | grep 'clang')" = "" ]; then mk/linux/build-mg.sh -c 4; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$(echo "$CC" | grep 'clang')" != "" ]; then mk/linux/build-mg.sh -w -c 4; fi
# ^ -w may be removed on more modern dist: than trusty, problems related with 'new wx+clang+old gcc'
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then mk/macos/build-mg.sh -c 4; fi
# https://docs.travis-ci.com/user/notifications/#IRC-notification
notifications:
irc:
channels:
- "irc.libera.chat#megaglest"
skip_join: true
use_notice: true
on_success: change
template:
- "[%{repository_name}#%{branch}@%{commit}] %{author}: %{message} %{build_url}"