Release Checklist

Mathieu Virbel edited this page Mar 20, 2016 · 11 revisions

Before doing any tagging, a pre-packaging is required. Ie, do the packaging at least once, and test them, before tagging the branch.

Tag

  1. git clean -dxf
  2. git reset --hard
  3. Edit kivy/__init__.py, remove the -dev part in __version__
  4. Commit with `git commit -am 'bump to $VERSION'
  5. Tag the release: git tag $VERSION
  6. Edit kivy/__init__.py, and edit __version__ = "$NEXTVERSION-dev"
  7. Commit with git commit -am 'bump to $NEXTVERSION-dev
  8. Push everything: git push --tags origin master

Packaging

Linux (source package)

  1. Create a source package: python setup.py sdist
  2. Upload to Pypi (ONLY AFTER TAGGING): python setup.py sdist upload
  3. 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

  1. Dowload the portable-deps-win32.zip
  2. Start a kivy.bat shell for Python 2.7
  3. Update dependencies: cython, plyer, kivy-garden, docutils, pygments, requests
  4. Go into kivy
  5. git reset --hard
  6. git clean -dxf
  7. git fetch
  8. git checkout $VERSION
  9. python setup.py build_portable --deps-url file:\\\c:\Users\tito\Desktop\portable-deps-win32.zip
  10. Copy the generated package Kivy-VERSION-py2.7-win32.zip to the Google drive
  11. Update dependencies: cython, plyer, kivy-garden, docutils, pygments, requests
  12. Start a kivy.bat shell for Python 3.3
  13. Go into kivy
  14. git reset --hard
  15. git clean -dxf
  16. git fetch
  17. git checkout $VERSION
  18. python setup.py build_portable --deps-url file:\\\c:\Users\tito\Desktop\portable-deps-win32.zip
  19. Copy the generated package Kivy-VERSION-py3.3-win32.zip to the Google drive

Android examples

Pictures / Touchtracer

  1. Get a fresh python-for-android, old_toolchain branch
  2. ./distribute.sh -m "kivy==1.X.X"
  3. cd dist/default
  4. ./build.py --package org.kivy.touchtracer --name "Kivy Touchtracer" --version 1.9.1.0 --private ~/code/kivy/examples/demo/touchtracer/ --orientation sensor --window --sdk 19 --minsdk 8 release
  5. ./build.py --package org.kivy.pictures --name "Kivy Pictures" --version 1.9.1.0 --private ~/code/kivy/examples/demo/pictures --orientation sensor --window --sdk 19 --minsdk 8 release
  6. Sign the bin/KivyTouchtracer-1.9.1.0-release.apk (tito only: marketrelease bin/KivyTouchracer-1.9.1.0)
  7. Sign the bin/KivyPictures-1.9.1.0-release.apk (tito only: marketrelease bin/KivyPictures-1.9.1.0)

Showcase

  1. Get a fresh python-for-android, old_toolchain branch
  2. ./distribute.sh -m "kivy==1.X.X pygments docutils"
  3. cd dist/default
  4. ./build.py --package org.kivy.showcase --name "Kivy Showcase" --version 1.9.1.0 --private ~/code/kivy/examples/demo/showcase/ --orientation sensor --window --sdk 19 --minsdk 8 release
  5. Sign the bin/KivyShowcase-1.9.1.0-release.apk (tito only: marketrelease bin/KivyShowcase-1.9.1.0)

Launcher

  1. Get a fresh python-for-android
  2. ./distribute.sh -m "sqlite3 openssl pyopenssl lxml audiostream cymunk ffmpeg pil pyjnius twisted kivy==1.9.1 plyer docutils pygments numpy"
  3. cd dist/default
  4. Create a kivylauncher-manifestextra.xml containing:
    <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"/>
  1. ./build.py --package org.kivy.pygame --name "Kivy Launcher" --version 1.9.1.1 --launcher --icon templates/launcher-icon.png --presplash templates/launcher-presplash.jpg --sdk 19 --minsdk 14 --permission INTERNET --permission BLUETOOTH --permission ACCESS_COARSE_LOCATION --permission ACCESS_FINE_LOCATION --permission RECORD_AUDIO --permission VIBRATE --manifest-extra kivylauncher-manifestextra.xml release
  2. Sign the bin/KivyLauncher-1.9.1.1-release.apk (tito only: marketrelease bin/KivyLauncher-1.9.1.0)

Syncing

After everything is loaded on gdrive, run the kivy-sync command on the server to sync gdrive with the server.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.