Release Checklist - uclatommy/kivy GitHub Wiki
Before doing any tagging, a pre-packaging is required. Ie, do the packaging at least once, and test them, before tagging the branch.
Tag
git clean -dxfgit reset --hard- Edit
kivy/__init__.py, remove the-devpart in__version__ - Commit with `git commit -am 'bump to $VERSION'
- Tag the release:
git tag $VERSION - Edit
kivy/__init__.py, and edit__version__ = "$NEXTVERSION-dev" - Commit with
git commit -am 'bump to $NEXTVERSION-dev - Push everything:
git push --tags origin master
Packaging
Linux (source package)
- Create a source package:
python setup.py sdist - Upload to Pypi (ONLY AFTER TAGGING):
python setup.py sdist upload - Edit the Pypi description for the latest uploaded package, and remove the website link. If you don't, easy_install might not find the Kivy package for the right platform.
Windows
- Dowload the
portable-deps-win32.zip - Start a
kivy.batshell for Python 2.7 - Update dependencies: cython, plyer, kivy-garden, docutils, pygments, requests
- Go into
kivy git reset --hardgit clean -dxfgit fetchgit checkout $VERSIONpython setup.py build_portable --deps-url file:\\\c:\Users\tito\Desktop\portable-deps-win32.zip- Copy the generated package
Kivy-VERSION-py2.7-win32.zipto the Google drive - Update dependencies: cython, plyer, kivy-garden, docutils, pygments, requests
- Start a
kivy.batshell for Python 3.3 - Go into
kivy git reset --hardgit clean -dxfgit fetchgit checkout $VERSIONpython setup.py build_portable --deps-url file:\\\c:\Users\tito\Desktop\portable-deps-win32.zip- Copy the generated package
Kivy-VERSION-py3.3-win32.zipto the Google drive
Android examples
Pictures / Touchtracer
- Get a fresh python-for-android
./distribute.sh -m "kivy==1.X.X"cd dist/default./build.py --package org.kivy.touchtracer --name "Kivy Touchtracer" --version 1.9.0.0 --private ~/code/kivy/examples/demo/touchtracer/ --orientation sensor --window --sdk 14 --minsdk 8 release./build.py --package org.kivy.pictures --name "Kivy Pictures" --version 1.9.0.0 --private ~/code/kivy/examples/demo/pictures --orientation sensor --window --sdk 14 --minsdk 8 release- Sign the
bin/KivyTouchtracer-1.9.0.0-release.apk(tito only:marketrelease bin/KivyTouchracer-1.9.0.0) - Sign the
bin/KivyPictures-1.9.0.0-release.apk(tito only:marketrelease bin/KivyPictures-1.9.0.0)
Showcase
- Get a fresh python-for-android
./distribute.sh -m "kivy==1.X.X pygments docutils"cd dist/default./build.py --package org.kivy.showcase --name "Kivy Showcase" --version 1.9.0.0 --private ~/code/kivy/examples/demo/showcase/ --orientation sensor --window --sdk 14 --minsdk 8 release- Sign the
bin/KivyShowcase-1.9.0.0-release.apk(tito only:marketrelease bin/KivyShowcase-1.9.0.0)
Launcher
- Get a fresh python-for-android
./distribute.sh -m "sqlite3 openssl pyopenssl lxml audiostream cymunk ffmpeg pil pyjnius twisted kivy==1.9.0 plyer docutils pygments"cd dist/default- Create a
kivylauncher-manifestextra.xmlcontaining:
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.location.network" android:required="false"/>
<uses-feature android:name="android.hardware.microphone" android:required="false"/>
<uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
./build.py --package org.kivy.pygame --name "Kivy Launcher" --version 1.9.0.0 --launcher --icon templates/launcher-icon.png --presplash templates/launcher-presplash.jpg --sdk 14 --minsdk 8 --permission INTERNET --permission BLUETOOTH --permission ACCESS_COARSE_LOCATION --permission ACCESS_FINE_LOCATION --permission RECORD_AUDIO --permission VIBRATE --manifest-extra kivylauncher-manifestextra.xml release- Sign the
bin/KivyLauncher-1.9.0.0-release.apk(tito only:marketrelease bin/KivyLauncher-1.9.0.0)