diff --git a/.travis.yml b/.travis.yml deleted file mode 120000 index bcbff36..0000000 --- a/.travis.yml +++ /dev/null @@ -1 +0,0 @@ -package/ci/travis.yml \ No newline at end of file diff --git a/README.md b/README.md index 0f334ed..06e690e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ This repository contains bindings of the Magnum C++11/C++14 graphics engine into other languages such as Python. [![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.com/mosra/magnum-bindings.svg?branch=master)](https://travis-ci.com/mosra/magnum-bindings) [![Coverage Status](https://codecov.io/gh/mosra/magnum-bindings/branch/master/graph/badge.svg)](https://codecov.io/gh/mosra/magnum-bindings) [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) diff --git a/doc/python/pages/building.rst b/doc/python/pages/building.rst index dd33ad0..397d228 100644 --- a/doc/python/pages/building.rst +++ b/doc/python/pages/building.rst @@ -186,10 +186,10 @@ following commands, the resulting HTML overview is located in `Continuous Integration`_ ========================= -In ``package/ci/`` there is a ``travis.yml`` file that compiles and tests the -bindings on Linux GCC 4.8 + CMake 3.1 and on macOS, online at -https://travis-ci.com/mosra/magnum-bindings. For Windows there is an -``appveyor.yml`` testing on Windows with MSVC 2017 and 2019, online at +In ``package/ci/`` there is a ``circleci.yml`` file that compiles and tests the +bindings on Linux GCC 4.8 + CMake 3.4 and on macOS, online at +https://circleci.com/gh/mosra/magnum-bindings. For Windows there is an +``appveyor.yml`` testing on Windows with MSVC, online at https://ci.appveyor.com/project/mosra/magnum-bindings. Code coverage for both the C++ bindings code and Python side is reported to https://codecov.io/gh/mosra/magnum-bindings. diff --git a/package/archlinux/PKGBUILD-coverage b/package/archlinux/PKGBUILD-coverage index ce9b194..32cbbf0 100644 --- a/package/archlinux/PKGBUILD-coverage +++ b/package/archlinux/PKGBUILD-coverage @@ -49,7 +49,7 @@ check() { rm -rf coverage mkdir coverage - # Keep in sync with package/ci/travis.yml, please + # Keep in sync with package/ci/circleci.yml, please lcov --directory . --capture --output-file coverage.info lcov --extract coverage.info "*/src/python/*" "*/src/Corrade/*" "*/src/Magnum/*" --output-file coverage.info genhtml --output-directory ./coverage coverage.info diff --git a/package/ci/circleci.yml b/package/ci/circleci.yml index af43bc6..a1a7854 100644 --- a/package/ci/circleci.yml +++ b/package/ci/circleci.yml @@ -160,7 +160,7 @@ commands: steps: - run: name: Collect code coverage - # Keep in sync with PKBUILD-coverage and travis.yml, please + # Keep in sync with PKBUILD-coverage, please command: | lcov $LCOV_EXTRA_OPTS --directory . --capture --output-file coverage.info > /dev/null lcov $LCOV_EXTRA_OPTS --extract coverage.info "*/src/python/*" "*/src/Corrade/*" "*/src/Magnum/*" --output-file coverage.info > /dev/null diff --git a/package/ci/travis.yml b/package/ci/travis.yml deleted file mode 100644 index 1dec3d4..0000000 --- a/package/ci/travis.yml +++ /dev/null @@ -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