Set up Travis CI
This ensures the repository is always in a buildable state, while also checking for code style violations.
This commit is contained in:
76
.travis.yml
Normal file
76
.travis.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
language: cpp
|
||||
dist: xenial
|
||||
osx_image: xcode10.1
|
||||
|
||||
env:
|
||||
global:
|
||||
- SCONS_CACHE="$HOME/.scons_cache"
|
||||
- SCONS_CACHE_LIMIT=1024
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $SCONS_CACHE
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- name: Linux Debug + Static Checks
|
||||
os: linux
|
||||
compiler: gcc
|
||||
env: TARGET=debug STATIC_CHECKS=yes
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- llvm-toolchain-xenial-6.0
|
||||
packages:
|
||||
[scons, pkg-config, build-essential, p7zip-full, clang-format-6.0]
|
||||
|
||||
- name: Linux Release
|
||||
os: linux
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
[scons, pkg-config, build-essential, p7zip-full]
|
||||
env: TARGET=release
|
||||
|
||||
- name: macOS Debug
|
||||
os: osx
|
||||
compiler: clang
|
||||
env: TARGET=debug
|
||||
|
||||
- name: macOS Release
|
||||
os: osx
|
||||
compiler: clang
|
||||
env: TARGET=release
|
||||
|
||||
- name: Windows MSVC Debug
|
||||
os: windows
|
||||
env: TARGET=debug
|
||||
|
||||
- name: Windows MSVC Release
|
||||
os: windows
|
||||
env: TARGET=release
|
||||
|
||||
install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
brew update;
|
||||
brew install scons p7zip;
|
||||
fi
|
||||
|
||||
- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
|
||||
curl -LO https://downloads.sourceforge.net/project/scons/scons-local/3.0.5/scons-local-3.0.5.zip;
|
||||
unzip scons-local-3.0.5.zip;
|
||||
fi
|
||||
|
||||
script:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
|
||||
export SCONS="./scons.bat";
|
||||
else
|
||||
export SCONS="scons";
|
||||
fi
|
||||
|
||||
- $SCONS target="$TARGET" bits=64 generate_bindings=yes $SCONS_FLAGS;
|
||||
|
||||
- if [[ "$STATIC_CHECKS" == "yes" ]]; then
|
||||
sh ./misc/travis/clang-format.sh;
|
||||
fi
|
||||
Reference in New Issue
Block a user