6 changed files with 6 additions and 156 deletions
@ -1,148 +0,0 @@
|
||||
addons: |
||||
apt: |
||||
packages: |
||||
- g++-4.8 |
||||
- libgl1-mesa-dev |
||||
- ninja-build |
||||
- lcov |
||||
- libsdl2-dev |
||||
- libglfw3-dev |
||||
|
||||
matrix: |
||||
include: |
||||
- language: python |
||||
python: 3.6 |
||||
os: linux |
||||
dist: xenial |
||||
compiler: gcc |
||||
env: |
||||
- JOBID=linux-gl |
||||
- TARGET=desktop |
||||
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.8" |
||||
- language: python |
||||
python: 3.6 |
||||
os: linux |
||||
dist: xenial |
||||
compiler: gcc |
||||
env: |
||||
- JOBID=linux-gles2 |
||||
- TARGET=desktop-gles |
||||
- TARGET_GLES2=ON |
||||
- CMAKE_CXX_FLAGS="--coverage" |
||||
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.8" |
||||
addons: |
||||
apt: |
||||
packages: |
||||
- g++-4.8 |
||||
- ninja-build |
||||
- lcov |
||||
- libsdl2-dev |
||||
- libglfw3-dev |
||||
- language: python |
||||
python: 3.6 |
||||
os: linux |
||||
dist: xenial |
||||
compiler: gcc |
||||
env: |
||||
- JOBID=linux-gles3 |
||||
- TARGET=desktop-gles |
||||
- TARGET_GLES2=OFF |
||||
- CMAKE_CXX_FLAGS="--coverage" |
||||
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.8" |
||||
addons: |
||||
apt: |
||||
packages: |
||||
- g++-4.8 |
||||
- ninja-build |
||||
- lcov |
||||
- libsdl2-dev |
||||
- libglfw3-dev |
||||
- language: python |
||||
python: 3.6 |
||||
os: linux |
||||
dist: xenial |
||||
compiler: gcc |
||||
env: |
||||
- JOBID=linux-static |
||||
- TARGET=desktop |
||||
- BUILD_STATIC=ON |
||||
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.8" |
||||
- language: cpp |
||||
os: osx |
||||
# The default (9.4) fails to upgrade Homebrew since Oct 22 2019 because of |
||||
# some syntax error, unexpected keyword_rescue, expecting keyword_end |
||||
# Homebrew fails to upgrade since Dec 2019 because of a Python 2->3 |
||||
# migration, solution is apparently to disable upgrades. WTF! Everyone is |
||||
# fired. Using latest XCode image so I can get a reasonably new pybind. |
||||
# https://discuss.circleci.com/t/brew-link-step-failing-on-python-dependency/33925 |
||||
osx_image: xcode11.3 |
||||
compiler: clang |
||||
env: |
||||
- JOBID=macos-gl |
||||
- TARGET=desktop |
||||
- language: cpp |
||||
os: osx |
||||
osx_image: xcode11.3 |
||||
compiler: clang |
||||
env: |
||||
- JOBID=macos-static |
||||
- TARGET=desktop |
||||
- BUILD_STATIC=ON |
||||
|
||||
cache: |
||||
directories: |
||||
- $HOME/swiftshader |
||||
- $HOME/cmake |
||||
- $HOME/pybind11 |
||||
|
||||
install: |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export CXX=g++-4.8; fi |
||||
- if [ "$BUILD_STATIC" != "ON" ]; then export BUILD_STATIC=OFF; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] ); then export PLATFORM_GL_API=GLX; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-gles" ]; then export PLATFORM_GL_API=EGL; fi |
||||
# Download CMake 3.4.3 to ensure we're still compatible with it (Travis has |
||||
# 3.9 since December 2017). Also, the PATH setting can't be cached, so it's |
||||
# separate (bit me two times already). Android needs CMake 3.7, but |
||||
# https://gitlab.kitware.com/cmake/cmake/issues/17253 is fixed in 3.9.2, so |
||||
# grab that. |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v3.4/cmake-3.4.3-Linux-x86_64.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzf ../cmake-3.4.3-Linux-x86_64.tar.gz && cd $TRAVIS_BUILD_DIR ; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=$HOME/cmake/bin:$PATH && cmake --version; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi |
||||
|
||||
# pybind11 (cached). Can't update because Py2->3 migration fails, so picking |
||||
# whatever version is there on the xcode11.3 image. FFS. |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! -e "$HOME/pybind11/bin" ]; then $TRAVIS_BUILD_DIR/package/ci/setup-pybind11.sh; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install pybind11; fi |
||||
|
||||
# SDL and GLFW on macOS |
||||
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install sdl2 glfw; fi |
||||
|
||||
# numpy on macOS -- probably because we updated Homebrew to install new pybind |
||||
# (and thus python as well, apparently), the preinstalled numpy is no longer |
||||
# visible. Disabled for now because we're not upgrading. |
||||
# - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew upgrade numpy; fi |
||||
|
||||
# Code coverage of python bindings. This has to be below the above brew upgrade |
||||
# and pybind install otherwise those packages get installed for Python 3.6 and |
||||
# then forgotten when 3.7 is installed. |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ]; then pip3 install coverage codecov; fi |
||||
|
||||
# SwiftShader on Linux (cached). Taken from Chromium snapshot 587878 |
||||
# (swiftshader-bin Arch package). |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-gles" ] && [ ! -e "$HOME/swiftshader/libEGL.so" ]; then cd $HOME ; wget https://ci.magnum.graphics/swiftshader-chromium-587878.tar.gz && mkdir -p swiftshader && cd swiftshader && tar -xzf ../swiftshader-chromium-587878.tar.gz && cd $TRAVIS_BUILD_DIR ; fi |
||||
|
||||
# lcov on macOS |
||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install lcov; fi |
||||
|
||||
script: |
||||
- if [ "$TARGET" == "desktop" ] && ( [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ] ); then ./package/ci/unix-desktop.sh; fi |
||||
- if [ "$TARGET" == "desktop-gles" ] && ( [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ] ); then ./package/ci/unix-desktop-gles.sh; fi |
||||
# Travis somehow is not able to gather all output, try to force it using this |
||||
- sync |
||||
|
||||
after_success: |
||||
# Keep in sync with PKGBUILD-coverage and codecov.yml, please |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ]; then lcov $LCOV_EXTRA_OPTS --directory . --capture --output-file coverage.info > /dev/null; fi |
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ]; then lcov $LCOV_EXTRA_OPTS --extract coverage.info "*/src/python/*" "*/src/Corrade/*" "*/src/Magnum/*" --output-file coverage.info; fi |
||||
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] || [ "$TRAVIS_OS_NAME" == "osx" ]; then cd src/python && coverage combine && codecov -X gcov; fi |
||||
Loading…
Reference in new issue