2018-06-01 05:25:19 +00:00
env :
global :
- KIVY_USE_SETUPTOOLS=1
- KIVY_SPLIT_EXAMPLES=1
- SERVER_IP=159.203.106.198
2018-08-23 16:23:04 +00:00
- DOC_VERSIONS="stable master"
2018-10-07 11:05:05 +00:00
osx_image : xcode10
2015-06-23 12:45:42 +00:00
matrix :
fast_finish : true
include :
2015-12-26 17:53:48 +00:00
- language : python
2019-05-07 21:41:06 +00:00
python : 3.5
env : RUN=pep8 USE_PANGOFT2=0
2015-12-26 17:53:48 +00:00
os : linux
2018-10-07 18:11:21 +00:00
dist : bionic
2019-05-07 21:41:06 +00:00
name : "PEP8 verification"
stage : pep8
2015-12-26 17:53:48 +00:00
- language : python
2019-05-07 21:41:06 +00:00
python : 2.7
env : RUN=unit USE_PANGOFT2=0
2015-12-26 17:53:48 +00:00
os : linux
2018-10-07 18:11:21 +00:00
dist : bionic
2019-05-07 21:41:06 +00:00
name : "Linux - Python 2 tests"
stage : test
2015-12-26 17:53:48 +00:00
- language : python
python : 3.5
2019-05-07 21:41:06 +00:00
env : RUN=unit COVERALLS=true USE_PANGOFT2=0
2015-12-26 17:53:48 +00:00
os : linux
2018-10-07 18:11:21 +00:00
dist : bionic
2019-05-07 21:41:06 +00:00
name : "Linux - Python 3 tests"
- language : generic
env : RUN=unit PY=2 USE_PANGOFT2=0
os : osx
name : "OSX - Python 2 tests"
- language : generic
env : RUN=unit PY=3 USE_PANGOFT2=0
os : osx
name : "OSX - Python 3 tests"
2015-12-26 17:53:48 +00:00
- language : python
python : 3.5
2018-10-07 18:23:03 +00:00
env : RUN=docs USE_PANGOFT2=0
2015-12-26 17:53:48 +00:00
os : linux
2018-10-07 18:11:21 +00:00
dist : bionic
2019-05-07 21:41:06 +00:00
name : "Docs generation"
2018-06-01 05:25:19 +00:00
- language : python
sudo : required
2019-04-11 23:23:06 +00:00
env : RUN=wheels DOCKER_IMAGE=quay.io/pypa/manylinux2010_x86_64
2019-05-07 21:41:06 +00:00
name : "Linux - wheel generation"
2018-06-01 05:25:19 +00:00
services :
- docker
- language : generic
os : osx
2019-05-14 21:21:08 +00:00
env : PYVERS="3.5.4 3.6.5 3.7.0 2.7.15" PY=3 RUN=wheels USE_PANGOFT2=0
2019-05-07 21:41:06 +00:00
name : "OSX - wheel generation"
2018-06-22 18:33:24 +00:00
- language : generic
2018-10-07 18:23:03 +00:00
env : RUN=app PY=2 USE_PANGOFT2=0
2018-06-22 18:33:24 +00:00
os : osx
2019-05-07 21:41:06 +00:00
name : "OSX - Python 2 Kivy.app generation"
2018-06-22 18:33:24 +00:00
- language : generic
2019-05-14 21:21:08 +00:00
env : PY=3 RUN=app USE_PANGOFT2=0
2018-06-22 18:33:24 +00:00
os : osx
2019-05-07 21:41:06 +00:00
name : "OSX - Python 3 Kivy.app generation"
2012-10-18 15:47:49 +00:00
2016-12-15 07:50:57 +00:00
before_install :
# https://github.com/travis-ci/travis-ci/issues/6307
2018-03-12 16:46:46 +00:00
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
2019-03-07 07:25:28 +00:00
travis_wait brew update
2018-05-12 16:37:43 +00:00
brew install gpg2;
brew uninstall gpg;
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3;
rvm get stable;
2017-12-30 22:59:04 +00:00
fi
2016-12-15 07:50:57 +00:00
2012-10-18 15:47:49 +00:00
install :
2018-06-01 05:25:19 +00:00
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "${RUN}" != "wheels" ]; then
2016-12-12 04:07:32 +00:00
if [ "${RUN}" != "pep8" ]; then
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;
2019-02-09 14:59:01 +00:00
sudo apt-get -y install xvfb pulseaudio xsel;
2019-02-25 08:40:32 +00:00
pip install --upgrade cython pillow pytest coveralls docutils PyInstaller;
2016-12-12 04:07:32 +00:00
fi;
if [ "${RUN}" == "docs" ]; then
pip install --upgrade sphinxcontrib-blockdiag sphinxcontrib-seqdiag sphinxcontrib-actdiag sphinxcontrib-nwdiag;
fi;
2015-11-29 21:28:25 +00:00
fi;
2015-12-26 17:53:48 +00:00
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
2016-12-15 08:34:22 +00:00
curl -O -L https://github.com/aria2/aria2/releases/download/release-1.29.0/aria2-1.29.0-osx-darwin.dmg;
2016-12-15 08:13:51 +00:00
hdiutil attach aria2-1.29.0-osx-darwin.dmg;
sudo installer -package "/Volumes/aria2 1.29.0 Intel/aria2.pkg" -target /;
2016-01-16 20:12:33 +00:00
2019-03-05 23:15:05 +00:00
curl -O -L https://www.libsdl.org/release/SDL2-2.0.9.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.dmg;
curl -O -L https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.dmg;
2016-12-15 08:13:51 +00:00
/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;
2016-12-15 08:19:47 +00:00
2019-03-05 23:15:05 +00:00
hdiutil attach SDL2-2.0.9.dmg;
2015-12-26 17:53:48 +00:00
sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/;
2019-03-05 23:15:05 +00:00
hdiutil attach SDL2_image-2.0.4.dmg;
2015-12-26 17:53:48 +00:00
sudo cp -a /Volumes/SDL2_image/SDL2_image.framework /Library/Frameworks/;
2019-03-05 23:15:05 +00:00
hdiutil attach SDL2_ttf-2.0.15.dmg;
2015-12-26 17:53:48 +00:00
sudo cp -a /Volumes/SDL2_ttf/SDL2_ttf.framework /Library/Frameworks/;
2019-03-05 23:15:05 +00:00
hdiutil attach SDL2_mixer-2.0.4.dmg;
2015-12-26 17:53:48 +00:00
sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/;
2016-12-15 08:13:51 +00:00
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 /;
2018-05-12 16:37:43 +00:00
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py;
2019-05-14 21:21:08 +00:00
if [ "${RUN}" == "app" ] && ([ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS_TAG}" != "" ] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build app osx]" ]]); then
2018-06-22 18:33:24 +00:00
curl -O -L http://www.sveinbjorn.org/files/software/platypus/platypus4.8.zip;
unzip platypus4.8.zip;
mkdir -p /usr/local/bin;
mkdir -p /usr/local/share/platypus;
cp Platypus-4.8/Platypus.app/Contents/Resources/platypus_clt /usr/local/bin/platypus;
cp Platypus-4.8/Platypus.app/Contents/Resources/ScriptExec /usr/local/share/platypus/ScriptExec;
cp -a Platypus-4.8/Platypus.app/Contents/Resources/MainMenu.nib /usr/local/share/platypus/MainMenu.nib;
chmod -R 755 /usr/local/share/platypus;
fi;
if [ "${RUN}" == "unit" ]; then
2018-06-01 05:25:19 +00:00
if [ "${PY}" == "3" ]; then
2019-02-25 13:07:01 +00:00
export PATH=$PATH:$HOME/Library/Python/3.5/bin;
2018-06-01 05:25:19 +00:00
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 /;
python3 get-pip.py --user;
2019-02-25 08:40:32 +00:00
python3 -m pip install --upgrade --user cython pillow pytest mock docutils PyInstaller;
2018-06-01 05:25:19 +00:00
else
2019-02-25 13:07:01 +00:00
export PATH=$PATH:$HOME/Library/Python/2.7/bin;
2018-06-01 05:25:19 +00:00
python get-pip.py --user;
2019-02-25 08:40:32 +00:00
python -m pip install --upgrade --user cython pillow pytest mock docutils PyInstaller;
2018-06-01 05:25:19 +00:00
fi;
2015-12-26 17:53:48 +00:00
fi;
2015-06-23 12:45:42 +00:00
fi;
2015-06-22 18:17:23 +00:00
before_script :
2018-06-01 05:25:19 +00:00
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "${RUN}" != "pep8" ] && [ "${RUN}" != "wheels" ]; then
2015-06-23 12:45:42 +00:00
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;
2015-12-26 17:53:48 +00:00
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
export CC=clang;
export CXX=clang;
export FFLAGS=-ff2c;
2016-06-12 00:03:23 +00:00
export KIVY_GL_BACKEND=mock;
2015-12-26 17:53:48 +00:00
fi;
2012-10-18 15:47:49 +00:00
script :
2015-12-26 17:53:48 +00:00
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
2016-12-15 07:52:27 +00:00
set -ex;
2016-12-12 04:07:32 +00:00
if [ "${RUN}" == "unit" ]; then
make;
make test;
fi;
if [ "${COVERALLS}" == "true" ] && [ "${TRAVIS_BRANCH}" == "master" ]; then
2018-05-21 15:50:35 +00:00
travis_retry coveralls;
2016-12-12 04:07:32 +00:00
fi;
if [ "${RUN}" == "pep8" ]; then
make style;
fi;
if [ "${RUN}" == "docs" ]; then
make html;
fi;
2019-05-14 21:21:08 +00:00
if [ "${RUN}" == "wheels" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ] && ([ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS_TAG}" != "" ] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build wheel]" ]] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build wheel linux]" ]]); then
2018-06-01 05:25:19 +00:00
mkdir wheelhouse;
wheel_date=$(python -c "from datetime import datetime; print(datetime.utcnow().strftime('%Y%m%d'))");
git_tag=$(git rev-parse --short HEAD);
2019-05-16 05:41:51 +00:00
tag_name=$(python -c "from __future__ import print_function; import kivy; _, tag, n = kivy.parse_kivy_version(kivy.__version__); print(tag + n) if n is not None else print(tag or 'something')" --config "kivy:log_level:error");
2019-05-16 04:25:21 +00:00
wheel_name="$tag_name.$wheel_date.$git_tag-";
2018-06-01 05:25:19 +00:00
chmod +x .ci/build-wheels-linux.sh;
docker run --rm -v `pwd`:/io $DOCKER_IMAGE "/io/.ci/build-wheels-linux.sh";
2018-06-17 19:50:20 +00:00
ls wheelhouse/;
2018-06-01 05:25:19 +00:00
for name in wheelhouse/*manylinux*.whl; do
2019-05-16 04:25:21 +00:00
new_name="${name/$tag_name-/$wheel_name}";
2018-06-17 19:50:20 +00:00
if [ ! -f "$new_name" ]; then
cp -n $name $new_name;
fi;
2018-06-01 05:25:19 +00:00
done;
ls wheelhouse/;
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 $SERVER_IP\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
rsync -avh -e "ssh -p 2458" --include="*/" --include="*manylinux*.whl" --exclude="*" "wheelhouse/" "root@$SERVER_IP:/web/downloads/ci/linux/kivy/";
fi;
2015-06-23 12:45:42 +00:00
fi;
2015-12-26 17:53:48 +00:00
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
2016-12-15 07:52:27 +00:00
set -ex;
2018-06-22 18:33:24 +00:00
if [ "${RUN}" == "unit" ]; then
2018-06-01 05:25:19 +00:00
if [ "${PY}" == "3" ]; then
python3 setup.py build_ext --inplace;
2019-02-25 10:37:19 +00:00
env KIVY_NO_ARGS=1 pytest -v kivy/tests;
2018-06-01 05:25:19 +00:00
else
make;
2019-02-25 10:37:19 +00:00
env KIVY_NO_ARGS=1 pytest -v kivy/tests;
2018-06-01 05:25:19 +00:00
fi;
2019-05-14 21:21:08 +00:00
elif [ "${RUN}" == "app" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ] && ([ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS_TAG}" != "" ] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build app osx]" ]]); then
2018-06-22 18:33:24 +00:00
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 $SERVER_IP\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
git clone https://github.com/kivy/kivy-sdk-packager;
pushd kivy-sdk-packager/osx;
app_date=$(python -c "from datetime import datetime; print(datetime.utcnow().strftime('%Y%m%d'))");
git_tag=$(git rev-parse --short HEAD);
if [ "${PY}" == "3" ]; then
yes | ./create-osx-bundle.sh python3 master > output.txt;
2019-05-14 21:21:08 +00:00
app_ver=$(KIVY_NO_CONSOLELOG=1 Kivy.app/Contents/Resources/script -c 'import kivy; print(kivy.__version__)');
2018-06-22 18:33:24 +00:00
mv Kivy.app Kivy3.app;
./create-osx-dmg.sh Kivy3.app;
mkdir app;
2019-05-14 23:54:18 +00:00
cp Kivy3.dmg app/"Kivy-$app_ver"-python3.6.5.dmg;
2018-06-26 18:46:57 +00:00
mv Kivy3.dmg app/"Kivy-$app_ver-$git_tag-$app_date"-python3.6.5.dmg;
2018-06-22 18:33:24 +00:00
else
2018-10-07 11:05:05 +00:00
./create-osx-bundle.sh python2 master > output.txt;
2019-05-14 21:21:08 +00:00
app_ver=$(KIVY_NO_CONSOLELOG=1 Kivy.app/Contents/Resources/script -c 'import kivy; print(kivy.__version__)');
2018-06-22 18:33:24 +00:00
mv Kivy.app Kivy2.app;
./create-osx-dmg.sh Kivy2.app;
mkdir app;
2019-05-14 23:54:18 +00:00
cp Kivy2.dmg app/"Kivy-$app_ver"-python2.dmg;
2018-06-26 07:48:27 +00:00
mv Kivy2.dmg app/"Kivy-$app_ver-$git_tag-$app_date"-python2.dmg;
2018-06-22 18:33:24 +00:00
fi;
yes | rsync -avh -e "ssh -p 2458" --include="*/" --include="*.dmg" --exclude="*" "./app/" "root@$SERVER_IP:/web/downloads/ci/osx/app/";
popd;
2019-05-14 21:21:08 +00:00
elif [ "${RUN}" == "wheels" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ] && ([ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS_TAG}" != "" ] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build wheel]" ]] || [[ "$TRAVIS_COMMIT_MESSAGE" =~ "[build wheel osx]" ]]); then
2018-06-01 05:25:19 +00:00
mkdir ../wheelhouse;
for pyver in $PYVERS; do
git reset --hard;
git clean -d -x -f;
pyver_short=${pyver:0:3};
curl -O -L https://www.python.org/ftp/python/$pyver/python-$pyver-macosx10.6.pkg;
sudo installer -package python-$pyver-macosx10.6.pkg -target /;
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py;
python$pyver_short get-pip.py --user;
2018-07-07 22:01:16 +00:00
python$pyver_short -m pip install git+http://github.com/tito/osxrelocator --user;
2018-06-01 05:25:19 +00:00
2019-05-14 21:21:08 +00:00
python$pyver_short -m pip install --upgrade --user pip setuptools wheel;
python$pyver_short -m pip install --upgrade --user cython pytest wheel pillow mock docutils;
2018-06-01 05:25:19 +00:00
python$pyver_short -m pip install --upgrade delocate;
2018-07-10 21:53:38 +00:00
USE_SDL2=1 USE_GSTREAMER=1 python$pyver_short setup.py build_ext --inplace>output.txt;
USE_SDL2=1 USE_GSTREAMER=1 python$pyver_short setup.py bdist_wheel>output.txt;
2018-06-01 05:25:19 +00:00
/Library/Frameworks/Python.framework/Versions/$pyver_short/bin/delocate-wheel dist/*.whl;
2018-07-07 22:01:16 +00:00
zip_dir="$(basename dist/*.whl .whl)";
unzip dist/*.whl -d dist/$zip_dir;
2019-05-14 21:21:08 +00:00
echo "sleeping to let the full log display";
sleep 10;
rm dist/$zip_dir/kivy/.dylibs/libg*;
rm dist/$zip_dir/kivy/.dylibs/GStreamer;
2018-07-07 22:01:16 +00:00
cp /Library/Frameworks/SDL2_mixer.framework/Versions/A/Frameworks/FLAC.framework/Versions/A/FLAC dist/$zip_dir/kivy/.dylibs/;
cp /Library/Frameworks/SDL2_ttf.framework/Versions/A/Frameworks/FreeType.framework/Versions/A/freetype dist/$zip_dir/kivy/.dylibs/;
cp /Library/Frameworks/SDL2_mixer.framework/Versions/A/Frameworks/Ogg.framework/Versions/A/Ogg dist/$zip_dir/kivy/.dylibs/;
cp /Library/Frameworks/SDL2_mixer.framework/Versions/A/Frameworks/Vorbis.framework/Versions/A/Vorbis dist/$zip_dir/kivy/.dylibs/;
cp /Library/Frameworks/SDL2_mixer.framework/Versions/A/Frameworks/modplug.framework/Versions/A/modplug dist/$zip_dir/kivy/.dylibs/;
2019-05-14 21:21:08 +00:00
cp /Library/Frameworks/SDL2_mixer.framework/Versions/A/Frameworks/mpg123.framework/Versions/A/mpg123 dist/$zip_dir/kivy/.dylibs/;
2018-07-10 21:53:38 +00:00
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/SDL2.framework/Versions/A/SDL2 @loader_path/SDL2>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/FLAC.framework/Versions/A/FLAC @loader_path/FLAC>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/modplug.framework/Versions/A/modplug @loader_path/modplug>output.txt;
2019-05-14 21:21:08 +00:00
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/mpg123.framework/Versions/A/mpg123 @loader_path/mpg123>output.txt;
2018-07-10 21:53:38 +00:00
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/FreeType.framework/Versions/A/FreeType @loader_path/FreeType>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/webp.framework/Versions/A/webp @loader_path/webp>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/Vorbis.framework/Versions/A/Vorbis @loader_path/Vorbis>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/../../../../SDL2.framework/Versions/A/SDL2 @loader_path/SDL2>output.txt;
python$pyver_short -m osxrelocator.__init__ dist/$zip_dir/kivy/.dylibs @rpath/Ogg.framework/Versions/A/Ogg @loader_path/Ogg>output.txt;
2019-05-14 21:21:08 +00:00
rm dist/$zip_dir.whl;
2018-07-08 00:00:51 +00:00
pushd dist;
2018-07-07 22:01:16 +00:00
python$pyver_short -c "from delocate import delocating; delocating.dir2zip('$zip_dir', '$zip_dir.whl')";
rm -rf $zip_dir;
2018-07-08 00:00:51 +00:00
popd;
2018-06-01 05:25:19 +00:00
/Library/Frameworks/Python.framework/Versions/$pyver_short/bin/delocate-addplat --rm-orig -x 10_9 -x 10_10 dist/*.whl;
cp dist/*.whl ../wheelhouse/;
done;
wheel_date=$(python -c "from datetime import datetime; print(datetime.utcnow().strftime('%Y%m%d'))");
git_tag=$(git rev-parse --short HEAD);
2019-05-16 05:41:51 +00:00
tag_name=$(python -c "from __future__ import print_function; import kivy; _, tag, n = kivy.parse_kivy_version(kivy.__version__); print(tag + n) if n is not None else print(tag or 'something')" --config "kivy:log_level:error");
2019-05-16 04:25:21 +00:00
wheel_name="$tag_name.$wheel_date.$git_tag-";
2018-06-17 20:46:45 +00:00
ls ../wheelhouse/;
2018-06-01 05:25:19 +00:00
for name in ../wheelhouse/*.whl; do
2019-05-16 04:25:21 +00:00
new_name="${name/$tag_name-/$wheel_name}";
2018-06-17 19:50:20 +00:00
if [ ! -f "$new_name" ]; then
cp -n "$name" "$new_name";
fi;
2018-06-01 05:25:19 +00:00
done;
ls ../wheelhouse/;
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 $SERVER_IP\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
rsync -avh -e "ssh -p 2458" --include="*/" --include="*.whl" --exclude="*" "../wheelhouse/" "root@$SERVER_IP:/web/downloads/ci/osx/kivy/";
2015-12-26 17:53:48 +00:00
fi;
2015-06-23 12:45:42 +00:00
fi;
2015-06-22 18:17:23 +00:00
2015-12-26 17:53:48 +00:00
2015-11-20 17:57:34 +00:00
after_success :
Maintain separate docs for different releases
This will cause CI to build docs for specific branches when they are
pushed to, and to copy the result into a subdirectory of the docs/
directory, instead of the root. The task will also update a
"versions.json" file, for the pages to be able to display/select other
versions.
The doc template is changed slightly to display a select field on top
of the quick search, using some js to fill the versions from the
generated versions.json file, and to change url when a different version
is selected.
This has been tested with a local server, trying to emulate the doc
structure, but the CI part hasn't been really tested.
Known Issues:
- the version.json file contains all versions configured to build, but
the doc for these might not have been generated yet, which would
result in 404 errors.
- the logic doesn't know if the current page of the doc exists for the
selectable versions, so this will also result in 404 errors when
switching to a version that didn't have the current doc page..
- the url manipulation logic is a bit dirty, as it assumes that the path
is always of the form of /docs/<version>/….
- theming could certainly be slightly improved.
2018-07-07 00:12:20 +00:00
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "${RUN}" == "docs" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
for version in $DOC_VERSIONS; do
if [ $version == ${TRAVIS_BRANCH} ]; 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 $SERVER_IP\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config;
2018-08-23 17:47:35 +00:00
echo "[$(echo $DOC_VERSIONS|tr ' ' ', '|sed -s 's/\([^,]\+\)/"\1"/g')]" > versions.json;
2018-08-23 13:04:12 +00:00
rsync --force -e "ssh -p 2457" versions.json root@$SERVER_IP:/web/doc/;
rsync --delete --force -r -e "ssh -p 2457" ./doc/build/html/ root@$SERVER_IP:/web/doc/$version;
Maintain separate docs for different releases
This will cause CI to build docs for specific branches when they are
pushed to, and to copy the result into a subdirectory of the docs/
directory, instead of the root. The task will also update a
"versions.json" file, for the pages to be able to display/select other
versions.
The doc template is changed slightly to display a select field on top
of the quick search, using some js to fill the versions from the
generated versions.json file, and to change url when a different version
is selected.
This has been tested with a local server, trying to emulate the doc
structure, but the CI part hasn't been really tested.
Known Issues:
- the version.json file contains all versions configured to build, but
the doc for these might not have been generated yet, which would
result in 404 errors.
- the logic doesn't know if the current page of the doc exists for the
selectable versions, so this will also result in 404 errors when
switching to a version that didn't have the current doc page..
- the url manipulation logic is a bit dirty, as it assumes that the path
is always of the form of /docs/<version>/….
- theming could certainly be slightly improved.
2018-07-07 00:12:20 +00:00
fi;
done;
2015-11-20 17:57:34 +00:00
fi;
2019-05-14 21:21:08 +00:00
after_failure :
- sleep 10;
- echo == End of test log ==