Development: Making a Release

Pierre Ossman (Work account) edited this page Dec 8, 2016 · 1 revision

Quick guide to how we make releases. First we need to prepare a release branch:

  1. Update the translation template file:

    $ make translations_update
    $ git commit -m "Update translation template file" po/tigervnc.pot
  2. Create the release branch:

    $ git branch 1.2-branch master
  3. Check out the master branch:

    $ git checkout master
  4. Update the version number in these files:

    • CMakeLists.txt
    • java/CMakeLists.txt
    • unix/xserver/hw/vnc/xvnc.c

    If the release is 1.2.0 then the master branch should have 1.3.80 as the version number.

  5. Commit the version change:

    $ git commit CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.cc
  6. Push the master branch to GitHub:

    $ git push --dry-run git@github.com:TigerVNC/tigervnc.git master
    
    (check that everything looks sane)
    
    $ git push git@github.com:TigerVNC/tigervnc.git master

The next steps are the same for the first release on a branch, and any subsequent bug fix releases:

  1. Check out the release branch:

    $ git checkout 1.2-branch
  2. Update the version number in these files:

    • CMakeLists.txt
    • java/CMakeLists.txt
    • unix/xserver/hw/vnc/xvnc.c
  3. Commit the version change:

    $ git commit -m "TigerVNC 1.2.3" \
    CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.cc
  4. Tag the release:

    $ git tag -a -m "TigerVNC 1.2.3" v1.2.3 1.2-branch
  5. Push everything to GitHub:

    $ git push --dry-run git@github.com:TigerVNC/tigervnc.git v1.2.3 1.2-branch
    
    (check that everything looks sane)
    
    $ git push git@github.com:TigerVNC/tigervnc.git v1.2.3 1.2-branch
  6. Create a build (only Brian can do this right now)

  7. Update the HTML version of the man pages on the main web page. You can generate them using groff:

    $ groff -mandoc -Thtml -P-l Xvnc.man > Xvnc.html
  8. Create a release entry on bintray.com. Use stable for final releases and unstable for betas.

  9. Fill out the GitHub release using this template as a base:

    TigerVNC 1.2.3 is now available. Lots of changes have been made since
    the last release, but the highlights are:
    
      - Something
      - Something else
      - Something more
    
    Binaries are available from bintray:
    
    https://bintray.com/tigervnc/stable/tigervnc/1.2.3
    
    Regards
    The TigerVNC Developers
  10. Use the same template as above and send an annoucement to the tigervnc-announce mailing list.