Browse Source

package/ci: switched to codecov.io, merge Linux, macOS and GLES reports.

pull/231/head
Vladimír Vondruš 8 years ago
parent
commit
5a29881c8f
  1. 2
      README.md
  2. 4
      doc/building.dox
  3. 6
      package/ci/travis-desktop-gles.sh
  4. 1
      package/ci/travis-desktop.sh
  5. 20
      package/ci/travis.yml

2
README.md

@ -9,7 +9,7 @@ commercial purposes.
[![Join the chat at https://gitter.im/mosra/magnum](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mosra/magnum?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Join the chat at https://gitter.im/mosra/magnum](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mosra/magnum?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/mosra/magnum.svg?branch=master)](https://travis-ci.org/mosra/magnum) [![Build Status](https://travis-ci.org/mosra/magnum.svg?branch=master)](https://travis-ci.org/mosra/magnum)
[![Build Status](https://ci.appveyor.com/api/projects/status/5b477m034cfaskse/branch/master?svg=true)](https://ci.appveyor.com/project/mosra/magnum/branch/master) [![Build Status](https://ci.appveyor.com/api/projects/status/5b477m034cfaskse/branch/master?svg=true)](https://ci.appveyor.com/project/mosra/magnum/branch/master)
[![Coverage Status](https://coveralls.io/repos/github/mosra/magnum/badge.svg?branch=master)](https://coveralls.io/github/mosra/magnum?branch=master) [![Coverage Status](https://codecov.io/gh/mosra/magnum/branch/master/graph/badge.svg)](https://codecov.io/gh/mosra/magnum)
[![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
- Project homepage — http://magnum.graphics/ - Project homepage — http://magnum.graphics/

4
doc/building.dox

@ -861,8 +861,8 @@ building your projects for Android.
In `package/ci/` there is a `travis.yml` file with Linux GCC 4.7, macOS, Linux In `package/ci/` there is a `travis.yml` file with Linux GCC 4.7, macOS, Linux
desktop GLES2/GLES3, iOS GLES2/GLES3, Emscripten WebGL1/WebGL2, Android desktop GLES2/GLES3, iOS GLES2/GLES3, Emscripten WebGL1/WebGL2, Android
GLES2/GLES3, AddressSanitizer and ThreadSanitizer configuration. Online at GLES2/GLES3, AddressSanitizer and ThreadSanitizer configuration. Online at
https://travis-ci.org/mosra/magnum. The Linux build has code coverage reports https://travis-ci.org/mosra/magnum. The builds have code coverage reports
available online at https://coveralls.io/github/mosra/magnum. available online at https://codecov.io/gh/mosra/magnum.
@subsection building-ci-appveyor AppVeyor @subsection building-ci-appveyor AppVeyor

6
package/ci/travis-desktop-gles.sh

@ -6,9 +6,10 @@ git clone --depth 1 git://github.com/mosra/corrade.git
cd corrade cd corrade
mkdir build && cd build mkdir build && cd build
cmake .. \ cmake .. \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \ -DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Debug \
-DWITH_INTERCONNECT=OFF \ -DWITH_INTERCONNECT=OFF \
-G Ninja -G Ninja
ninja install ninja install
@ -16,8 +17,9 @@ cd ../..
mkdir build && cd build mkdir build && cd build
cmake .. \ cmake .. \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_PREFIX_PATH="$HOME/deps" \ -DCMAKE_PREFIX_PATH="$HOME/deps" \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Debug \
-DTARGET_GLES=ON \ -DTARGET_GLES=ON \
-DTARGET_GLES2=$TARGET_GLES2 \ -DTARGET_GLES2=$TARGET_GLES2 \
-DTARGET_DESKTOP_GLES=ON \ -DTARGET_DESKTOP_GLES=ON \

1
package/ci/travis-desktop.sh

@ -6,6 +6,7 @@ git clone --depth 1 git://github.com/mosra/corrade.git
cd corrade cd corrade
mkdir build && cd build mkdir build && cd build
cmake .. \ cmake .. \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \ -DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
-DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_BUILD_TYPE=Debug \

20
package/ci/travis.yml

@ -6,6 +6,7 @@ addons:
- libgl1-mesa-dev - libgl1-mesa-dev
- g++-4.7 - g++-4.7
- ninja-build - ninja-build
- lcov
- libsdl2-dev - libsdl2-dev
- freeglut3-dev - freeglut3-dev
- libopenal-dev - libopenal-dev
@ -24,6 +25,8 @@ matrix:
env: env:
- JOBID=linux-desktop - JOBID=linux-desktop
- TARGET=desktop - TARGET=desktop
- CMAKE_CXX_FLAGS="--coverage"
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.7"
- language: cpp - language: cpp
os: linux os: linux
dist: trusty dist: trusty
@ -63,6 +66,8 @@ matrix:
- JOBID=linux-es2 - JOBID=linux-es2
- TARGET=desktop-gles - TARGET=desktop-gles
- TARGET_GLES2=ON - TARGET_GLES2=ON
- CMAKE_CXX_FLAGS="--coverage"
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.7"
- language: cpp - language: cpp
os: linux os: linux
dist: trusty dist: trusty
@ -71,12 +76,15 @@ matrix:
- JOBID=linux-es3 - JOBID=linux-es3
- TARGET=desktop-gles - TARGET=desktop-gles
- TARGET_GLES2=OFF - TARGET_GLES2=OFF
- CMAKE_CXX_FLAGS="--coverage"
- LCOV_EXTRA_OPTS="--gcov-tool /usr/bin/gcov-4.7"
- language: cpp - language: cpp
os: osx os: osx
compiler: clang compiler: clang
env: env:
- JOBID=macos-desktop - JOBID=macos-desktop
- TARGET=desktop - TARGET=desktop
- CMAKE_CXX_FLAGS="--coverage"
- language: cpp - language: cpp
os: osx os: osx
osx_image: xcode7.3 osx_image: xcode7.3
@ -161,8 +169,6 @@ cache:
- $HOME/cmake - $HOME/cmake
install: install:
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ] && [ "$BUILD_DEPRECATED" != "OFF" ]; then pip install --user urllib3[secure] && pip install --user cpp-coveralls && export CMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS --coverage"; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export CXX=g++-4.7; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export CXX=g++-4.7; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-sanitizers" ]; then export CXX=clang++-3.8; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-sanitizers" ]; then export CXX=clang++-3.8; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ]; then export WITH_GLUTAPPLICATION=ON; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ]; then export WITH_GLUTAPPLICATION=ON; fi
@ -176,6 +182,7 @@ install:
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzvf ../cmake-2.8.12.2-Linux-i386.tar.gz && cd $TRAVIS_BUILD_DIR ; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzvf ../cmake-2.8.12.2-Linux-i386.tar.gz && cd $TRAVIS_BUILD_DIR ; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then export PATH=$HOME/cmake/bin:$PATH; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then export PATH=$HOME/cmake/bin:$PATH; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install lcov; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then export PLATFORM_GL_API=CGL; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then export PLATFORM_GL_API=CGL; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then gem install xcpretty; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then gem install xcpretty; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then brew install emscripten && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then brew install emscripten && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc; fi
@ -200,5 +207,10 @@ script:
- sync - sync
after_success: after_success:
# Ignoring all stuff that needs GL context and thus can't be run on Travis # Keep in sync with PKBUILD-coverage, please
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ] && [ "$BUILD_DEPRECATED" != "OFF" ]; then coveralls --gcov /usr/bin/gcov-4.7 -i src/ -E "(.*/(Test|MagnumExternal|Shaders|Platform)/.*|.*/src/Magnum/(AbstractFramebuffer|AbstractObject|AbstractQuery|AbstractShaderProgram|AbstractTexture|Buffer|BufferImage|BufferTexture|Context|CubeMapTexture|CubeMapTextureArray|DebugOutput|DefaultFramebuffer|Framebuffer|Mesh|MeshView|MultisampleTexture|OpenGL|PixelStorage|PrimitiveQuery|RectangleTexture|Renderbuffer|Renderer|SampleQuery|Sampler|Shader|Texture|TextureArray|TimeQuery|TransformFeedback|Implementation/BufferState|Implementation/DebugState|Implementation/driverSpecific|Implementation/FramebufferState|Implementation/maxTextureSize|Implementation/MeshState|Implementation/QueryState|Implementation/RendererState|Implementation/ShaderProgramState|Implementation/ShaderState|Implementation/State|Implementation/TextureState|Implementation/TransformFeedbackState)\\.(cpp|h))" --gcov-options '\-lp' > /dev/null; fi - if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then lcov $LCOV_EXTRA_OPTS --directory . --capture --output-file coverage.info > /dev/null; fi
- if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then lcov $LCOV_EXTRA_OPTS --extract coverage.info "*/src/Magnum*/*" --output-file coverage.info > /dev/null; fi
- if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then lcov $LCOV_EXTRA_OPTS --remove coverage.info "*/MagnumExternal/*" --output-file coverage.info > /dev/null; fi
- if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then lcov $LCOV_EXTRA_OPTS --remove coverage.info "*/Test/*" --output-file coverage.info > /dev/null; fi
- if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then lcov $LCOV_EXTRA_OPTS --remove coverage.info "*/build/src/*" --output-file coverage.info > /dev/null; fi
- if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.info; fi

Loading…
Cancel
Save