-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Development: Making a Release
Quick guide to how we make releases.
-
Update the translation template file:
$ make translations_update
-
Go through the changes, and see if there is anything that looks strange, or should be adjusted:
$ git diff -I '^#' po/tigervnc.pot -
Commit the new template file:
$ git commit -m "Update translation template file" po/tigervnc.pot -
Create the release branch:
$ git branch 1.2-branch master
-
Check out the master branch:
$ git checkout master
-
Update the version number in these files:
CMakeLists.txtjava/CMakeLists.txtunix/xserver/hw/vnc/xvnc.c
If the release is 1.2.0 then the master branch should have 1.2.80 as the version number.
-
Commit the version change:
$ git commit -m "Change development version to 1.2.80" \ CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.c -
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
-
Check out the release branch:
$ git checkout 1.2-branch
-
Update the version number in these files:
CMakeLists.txtjava/CMakeLists.txtunix/xserver/hw/vnc/xvnc.c
-
Commit the version change:
$ git commit -m "TigerVNC 1.1.90 (1.2.0 beta)" \ CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.c -
Tag the beta:
$ git tag -a -m "TigerVNC 1.1.90 (1.2.0 beta)" v1.1.90 1.2-branch -
Push everything to GitHub:
$ git push --dry-run git@github.com:TigerVNC/tigervnc.git v1.1.90 1.2-branch (check that everything looks sane) $ git push git@github.com:TigerVNC/tigervnc.git v1.1.90 1.2-branch
-
Create a build (only Brian can do this right now)
-
Create a release entry on SourceForge. Use the
betafolder. -
Upload all the built files.
-
Grab
README.rstfrom a previous release and upload an adjusted version for this new release. -
Fill out the GitHub release using this template as a base:
A beta of TigerVNC 1.2.0 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 SourceForge: https://sourceforge.net/projects/tigervnc/files/beta/1.2beta Regards The TigerVNC Developers
⚠️ Security issues should probably not be included in the beta announcement -
Use the same template as above and send an annoucement to the
tigervnc-announcemailing list. -
Inform the translation project that a new release needs translation.
This follows the same steps as the beta, except for these changes:
-
Update
vncviewer/org.tigervnc.vncviewer.metainfo.xml.inwith the new release before tagging -
Don't inform the translation project about the new release.
-
Use the simple "TigerVNC 1.2.0" as the version commit and tag message.
-
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 -
Use the
stablefolder on SourceForge. -
Mark the binaries as the default downloads for each platform
-
Include any security fixes in the release announcement
-
Publish any pending draft security advisories
No beta is done for bug fix releases, and commits should be added to the already existing release branch (e.g. 1.14-branch when creating bug fix release 1.14.1). See instructions below:
-
Check out the release branch:
$ git checkout 1.14-branch
-
Cherry-pick the commits that should be included in the new release. Remember to use
git cherry-pick -xto get a reference to the original commit.- A tip is to push a small number of commits at a time, to simplify troubleshooting if the GitHub checks do not pass.
-
Update the version number in these files:
CMakeLists.txtjava/CMakeLists.txtunix/xserver/hw/vnc/xvnc.c
-
Commit the version change:
$ git commit -m "TigerVNC 1.14.1" \ CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.c -
Tag the beta:
$ git tag -a -m "TigerVNC 1.14.1" v1.14.1 1.14-branch -
Push everything to GitHub:
$ git push --dry-run git@github.com:TigerVNC/tigervnc.git v1.14.1 1.14-branch (check that everything looks sane) $ git push git@github.com:TigerVNC/tigervnc.git v1.14.1 1.14-branch
-
Create a build (only Brian can do this right now)
-
Create a release entry on SourceForge. Use the
stablefolder. -
Upload all the built files.
-
Grab
README.rstfrom a previous release and upload an adjusted version for this new release. -
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 -
Fill out the GitHub release using this template as a base:
The bugfix release TigerVNC 1.14.1 is now available. This release fixes a number of regressions, the most prominent being: - Something - Something else - Something more Binaries are available from SourceForge: https://sourceforge.net/projects/tigervnc/files/stable/1.14.1 Regards The TigerVNC Developers
-
Use the same template as above and send an announcement to the
tigervnc-announcemailing list.
The wiki is read-only because of malware spam that GitHub refuses to provide protection agains. Contact the maintainers directly with changes you'd like to make.