-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
166 lines (159 loc) · 7.16 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
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
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
echo -e "sudo apt-get -y install texlive-full";
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/tatsuhiro-t/aria2/releases/download/release-1.19.3/aria2-1.19.3-osx-darwin.dmg;
hdiutil attach aria2-1.19.3-osx-darwin.dmg;
sudo installer -package "/Volumes/aria2 1.19.3 Intel/aria2.pkg" -target /;
curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.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.13.dmg;
/usr/local/aria2/bin/aria2c -x 10 http://gstreamer.freedesktop.org/data/pkg/osx/1.7.1/gstreamer-1.0-1.7.1-x86_64.pkg;
/usr/local/aria2/bin/aria2c -x 10 http://gstreamer.freedesktop.org/data/pkg/osx/1.7.1/gstreamer-1.0-devel-1.7.1-x86_64.pkg;
curl -O -L http://www.sveinbjorn.org/files/software/platypus.zip;
curl -O -L http://www.kekaosx.com/release/Keka-1.0.4-intel.dmg;
hdiutil attach Keka-1.0.4-intel.dmg;
hdiutil attach SDL2-2.0.4.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.13.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.7.1-x86_64.pkg -target /;
sudo installer -package gstreamer-1.0-devel-1.7.1-x86_64.pkg -target /;
unzip platypus.zip;
mkdir -p /usr/local/bin;
mkdir -p /usr/local/share/platypus;
mkdir -p /usr/local/man/platypus;
cp Platypus-5.0/Platypus.app/Contents/Resources/platypus_clt /usr/local/bin/platypus;
cp Platypus-5.0/Platypus.app/Contents/Resources/ScriptExec /usr/local/share/platypus/ScriptExec;
cp Platypus-5.0/Platypus.app/Contents/Resources/MainMenu.nib /usr/local/share/platypus/MainMenu.nib;
chmod -R 755 /usr/local/share/platypus;
if [ "${PY}" == "3" ]; then
curl -O -L https://www.python.org/ftp/python/3.5.1/python-3.5.1-macosx10.6.pkg;
sudo installer -package python-3.5.1-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 USE_OPENGL_MOCK=1;
fi;
script:
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
set -v;
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;
echo -e "make pdf";
fi;
fi;
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
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}" == "osx" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; 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 kivy.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
# git clone https://github.com/kivy/kivy-sdk-packager;
# cd kivy-sdk-packager/osx;
# if [ "${PY}" == "3" ]; then
# yes | ./create-osx-bundle.sh python3 master > output.txt;
# mv Kivy.app Kivy3.app;
# /Volumes/Keka/Keka.app/Contents/Resources/keka7z a Kivy3.7z Kivy3.app;
# rsync --delete --force -r -e ssh ./Kivy3.7z [email protected]:~/kivy.org/downloads/tests/Kivy3.7z;
# else
# ./create-osx-bundle.sh python2 master > output.txt;
# mv Kivy.app Kivy2.app;
# /Volumes/Keka/Keka.app/Contents/Resources/keka7z a Kivy2.7z Kivy2.app;
# rsync --delete --force -r -e ssh ./Kivy2.7z [email protected]:~/kivy.org/downloads/tests/Kivy2.7z;
# fi;
# fi;
- 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 kivy.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
rsync --delete --force -r -e ssh ./doc/build/html/ [email protected]:~/kivy.org/docs/api-trunk/;
echo -e "mv ./doc/build/latex/Kivy.pdf ./doc/build/latex/Kivy-latest.pdf";
echo -e "rsync -e ssh ./doc/build/latex/Kivy-latest.pdf [email protected]:~/kivy.org/docs/pdf/Kivy-latest.pdf";
fi;
notifications:
webhooks:
urls:
- http://kivy.org:5000/travisevent
on_success: always
on_failure: always
on_start: always