SPIRV-Tools/.travis.yml
Lei Zhang 65ea885234 Travis CI: stop requiring sudo and use make instead of ninja
This gives us shorter testing time since we can use the container
based testing environment, which starts faster. Also using make
means we don't need to install ninja separately.
2017-06-28 16:40:12 -04:00

89 lines
2.2 KiB
YAML

# Linux Build Configuration for Travis
language: cpp
os:
- linux
- osx
# Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment.
dist: trusty
sudo: false
# Use the default Xcode environment for Xcode.
env:
# Each line is a set of environment variables set before a build.
# Thus each line represents a different build configuration.
- BUILD_TYPE=Release
- BUILD_TYPE=Debug
compiler:
- clang
- gcc
matrix:
fast_finish: true
include:
# Additional build using Android NDK
- env: BUILD_NDK=ON
exclude:
# Skip GCC builds on macOS.
- os: osx
compiler: gcc
cache:
apt: true
git:
depth: 1
branches:
only:
- master
before_install:
- if [[ "$BUILD_NDK" == "ON" ]]; then
git clone --depth=1 https://github.com/urho3d/android-ndk.git $HOME/android-ndk;
export ANDROID_NDK=$HOME/android-ndk;
git clone --depth=1 https://github.com/taka-no-me/android-cmake.git $HOME/android-cmake;
export TOOLCHAIN_PATH=$HOME/android-cmake/android.toolchain.cmake;
fi
before_script:
- git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers external/spirv-headers
- git clone --depth=1 https://github.com/google/googletest external/googletest
script:
- mkdir build && cd build
- if [[ "$BUILD_NDK" == "ON" ]]; then
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH}
-DANDROID_NATIVE_API_LEVEL=android-9
-DCMAKE_BUILD_TYPE=Release
-DANDROID_ABI="armeabi-v7a with NEON"
-DSPIRV_SKIP_TESTS=ON ..;
else
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..;
fi
# Due to the limitation of Travis platform, we cannot start too many concurrent jobs.
# Otherwise GCC will panic with internal error, possibility because of memory issues.
- make -j4
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export NPROC=`nproc`;
else
export NPROC=`sysctl -n hw.ncpu`;
fi
- if [[ "$BUILD_NDK" != "ON" ]]; then ctest -j${NPROC} --output-on-failure --timeout 300; fi
notifications:
email:
recipients:
- antiagainst@google.com
- awoloszyn@google.com
- dneto@google.com
- ehsann@google.com
- qining@google.com
on_success: change
on_failure: always