kivy/.travis.yml

140 lines
5.3 KiB
YAML

matrix:
fast_finish: true
include:
- language: python
python: 2.7
env: RUN=unit
os: linux
dist: trusty
- language: python
python: 3.5
env: RUN=unit COVERALLS=true
os: linux
dist: trusty
- language: python
python: 3.5
env: RUN=pep8
os: linux
dist: trusty
- language: python
python: 3.5
env: RUN=docs
os: linux
dist: trusty
- language: generic
env: RUN=unit PY=2
os: osx
- language: generic
env: RUN=unit PY=3
os: osx
before_install:
# https://github.com/travis-ci/travis-ci/issues/6307
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm get head; fi
install:
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
if [ "${RUN}" != "pep8" ]; then
yes | sudo add-apt-repository ppa:zoogie/sdl2-snapshots;
yes | sudo add-apt-repository ppa:gstreamer-developers/ppa;
sudo apt-get update;
sudo apt-get -y install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev;
sudo apt-get -y install libgstreamer1.0-dev gstreamer1.0-alsa gstreamer1.0-plugins-base;
sudo apt-get -y install python-dev libsmpeg-dev libswscale-dev libavformat-dev libavcodec-dev libjpeg-dev libtiff4-dev libX11-dev libmtdev-dev;
sudo apt-get -y install python-setuptools build-essential libgl1-mesa-dev libgles2-mesa-dev;
sudo apt-get -y install xvfb pulseaudio;
pip install --upgrade cython pillow nose coveralls;
fi;
if [ "${RUN}" == "docs" ]; then
pip install --upgrade sphinxcontrib-blockdiag sphinxcontrib-seqdiag sphinxcontrib-actdiag sphinxcontrib-nwdiag;
fi;
fi;
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
curl -O -L https://github.com/aria2/aria2/releases/download/release-1.29.0/aria2-1.29.0-osx-darwin.dmg;
hdiutil attach aria2-1.29.0-osx-darwin.dmg;
sudo installer -package "/Volumes/aria2 1.29.0 Intel/aria2.pkg" -target /;
curl -O -L https://www.libsdl.org/release/SDL2-2.0.5.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.dmg;
/usr/local/aria2/bin/aria2c -x 10 https://gstreamer.freedesktop.org/data/pkg/osx/1.10.2/gstreamer-1.0-1.10.2-x86_64.pkg;
/usr/local/aria2/bin/aria2c -x 10 https://gstreamer.freedesktop.org/data/pkg/osx/1.10.2/gstreamer-1.0-devel-1.10.2-x86_64.pkg;
hdiutil attach SDL2-2.0.5.dmg;
sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/;
hdiutil attach SDL2_image-2.0.1.dmg;
sudo cp -a /Volumes/SDL2_image/SDL2_image.framework /Library/Frameworks/;
hdiutil attach SDL2_ttf-2.0.14.dmg;
sudo cp -a /Volumes/SDL2_ttf/SDL2_ttf.framework /Library/Frameworks/;
hdiutil attach SDL2_mixer-2.0.1.dmg;
sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/;
sudo installer -package gstreamer-1.0-1.10.2-x86_64.pkg -target /;
sudo installer -package gstreamer-1.0-devel-1.10.2-x86_64.pkg -target /;
if [ "${PY}" == "3" ]; then
curl -O -L https://www.python.org/ftp/python/3.5.2/python-3.5.2-macosx10.6.pkg;
sudo installer -package python-3.5.2-macosx10.6.pkg -target /;
pip3 install --upgrade --user cython pillow nose mock;
else
pip install --upgrade --user cython pillow nose mock;
fi;
fi;
before_script:
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "${RUN}" != "pep8" ]; then
export DISPLAY=:99.0;
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1280x720x24 -ac +extension GLX;
export PYTHONPATH=$PYTHONPATH:$(pwd);
fi;
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
export CC=clang;
export CXX=clang;
export FFLAGS=-ff2c;
export KIVY_GL_BACKEND=mock;
fi;
script:
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
set -ex;
if [ "${RUN}" == "unit" ]; then
make;
make test;
fi;
if [ "${COVERALLS}" == "true" ] && [ "${TRAVIS_BRANCH}" == "master" ]; then
coveralls;
fi;
if [ "${RUN}" == "pep8" ]; then
make style;
fi;
if [ "${RUN}" == "docs" ]; then
make html;
fi;
fi;
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
set -ex;
if [ "${PY}" == "3" ]; then
python3 setup.py build_ext --inplace;
python3 -m nose.core kivy/tests;
else
make;
make test;
fi;
fi;
after_success:
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "${RUN}" == "docs" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ] && [ "${TRAVIS_BRANCH}" == "master" ]; then
openssl aes-256-cbc -K $encrypted_675f1a0c317c_key -iv $encrypted_675f1a0c317c_iv -in ./kivy/tools/travis/id_rsa.enc -out ~/.ssh/id_rsa -d;
chmod 600 ~/.ssh/id_rsa;
echo -e "Host 159.203.106.198\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
rsync --delete --force -r -e "ssh -p 2457" ./doc/build/html/ root@159.203.106.198:/web/docs/;
fi;
notifications:
webhooks:
urls:
- https://kivy.org:5000/travisevent
on_success: always
on_failure: always
on_start: always