Skip to content
ckbruns edited this page Jul 4, 2017 · 43 revisions

Follow these steps to create and distribute a new release of pyovr.

  1. Download latest Oculus SDK (https://developer3.oculus.com/downloads/) to folder (eg. E:\Program Files (x86))
  2. Start Oculus client (if it fails, then check that Oculus VR Runtime Service is running in the services tab of your program manager)
  3. If not using Eclipse, make sure your PYTHONPATH points to the top folder of your current pyovr git local copy.
  4. Synchronize local pyovr repository.
    • Go to local git working folder (E:\ckbruns\Documents\git\pyovr)
    • Far-click inside folder -> Git Commit
    • Far-click inside folder -> TortoiseGit -> Pull (origin/master)
  5. Create a new git branch
    • Far-click inside pyovr folder -> TortoiseGit -> Switch/Checkout -> Check "Create New Branch" -> change branch to something like "ovr1.8" (1.8 is the SDK version)
  6. Increment version number in ovr/version.py
    • Open Eclipse
    • First two numbers are the Oculus Rift SDK product and major versions, e.g. "0.7"
    • The third number has 4 digits, and consists of two digits for the OVR minor/patch version, and two digits for the pyovr release version. e.g. "0.7.0002" for the second release of pyovr for libOVR version 0.7.0.0
    • Also update version number and SDK location at top of ovr/translate_header.pl
    • And update version numbers in README.md (3 locations)
  7. Commit changes locally (Git Commit)
  8. Pull latest version from github (origin/master)
  9. Resolve any conflicts
  10. If the Oculus SDK has changed, open Eclipse
    • Rerun ovr/translate_header.pl
    • Far-click ovr in left window -> Refresh
    • Rename new translated.py file to _ovr<Whatever>.py,
    • Update _init_.py
  11. Run the following tests:
    • python examples/glut/rift_demo_glut.py Do you see a nice VR triangle in the Rift?
    • python examples/pygame/RiftDemo.py Do you see a nice VR cube in the Rift?
    • Run unit tests: tests/runtests.py
  12. Commit any new changes locally (Git Commit)
  13. Remove any temporary .py files from folder ovr, such as translated.py (might not be necessary if you just renamed translated.py)
  14. Switch branch back to master
    • TortoiseGit -> Switch/Checkout -> switch to Branch master
    • TortoiseGit -> Merge -> From Branch, eg. "ovr1.8", that you were just working on
  15. Set a git tag with the latest version number, e.g. "0.7.0002"
    • TortoiseGit -> Show log
    • Far-click top log message (should have tags master & that branch you were working on) -> Create Tag -> Tag eg. "0.7.0002"
  16. Push latest changes to github, INCLUDING TAGS
    • TortoiseGit -> Push (master/master)
    • Check box for Include Tags
  17. Create a release at github
    • Create a draft release at github, using that new tag
    • Write release notes in the space provided
    • Create Windows installer (on your local computer)
      • cygwin -> browse to pyovr folder (cd /cygdrive/e/.../git/pyovr)
      • py -2 setup.py bdist_msi
      • Drag resulting dist/ovr-blah.win32.msi installer onto github release page
    • Publish that github release
  18. Publish release to PyPi

Why two different binary windows installers? bdist_msi has a better uninstall experience, so I use it for the github distribution. But neither PyPi nor the upload command support bdist_msi, so I use bdist_wininst for the PyPi distributed version.