Create a Tomboy release

  • Announce in #tomboy that you're about to make a release so they'll stop pushing commits to master (although you may get someone who begs you for a few more minutes for a last-minute-super-risky change)

  • Update to the latest code git pull --rebase

  • Update the NEWS file
    • This is one occasion where git log is your friend.

    • Keep the line length email friendly (max 80 columns)
    • Keep the file mostly non-technical in nature. You don't have to add every single thing from git log, only the things that would mean the most to end-users. Serious technical issues should be omitted from the NEWS file. Bugs (with the number), are useful however.

    • Take note of new contributors and add them to the Contributors list in Tomboy/Tomboy.cs
  • If there were new contributors, commit the updated Tomboy/Tomboy.cs file.
  • Build a test tarball
    • Run: make distcheck

    • make distcheck must succeed. Do not make a release if this step fails. Take the time to fix any problems that arise. You'll thank yourself later. Please note that on Ubuntu 14 you have to run make first, otherwise make distcheck will fail due to this bug in an older version of yelp-tools this OS has.

  • Test the tomboy-x.y.z.tar.gz file that is generated

    • tar xvf tomboy-x.y.z.tar.xz
      cd tomboy-x.y.z
      ./configure --prefix=/tmp/tomboy-x.y.z
      make install
      /tmp/tomboy-x.y.z/bin/tomboy  (this should run tomboy w/o issues)
  • If everything worked in the test tarball, commit the NEWS file.
  • Tag the code in git
    • git tag -a X.Y.Z

    • For a comment, use "Tagging the X.Y.Z release"
    • The tag should be in the following format: {MAJOR}.{MINOR}.{RELEASE}
      • e.g., 1.3.0

    • Good idea to double-check that the tag is in the right place in gitk

  • Bump the version one revision in, Tomboy/Defines.WIN32.cs, and osx/Contents/Info.plist and commit it
    • e.g., 1.3.0 -> 1.3.1

    • This allows others to start developing in master again
  • Push these commits to and

    • git push && git push --tags

  • Create a release out of the tag you've just created on GitHub and upload the tarball (+MSI if generated, see details below) to the release.

  • In addition, install the tarball on
    • md5sum tomboy-x.y.z.tar.xz
      scp tomboy-x.y.z.tar.xz {your-GNOME-username}
      ssh {your-GNOME-username}
      md5sum tomboy-x.y.z.tar.xz    (make sure it matches with the MD5 on your machine)
      ftpadmin install tomboy-x.y.z.tar.xz
    • If this step is successful, you should see the tar.xz and tar.bz2 appear here (after a few minutes):

  • Update the download page

    • Update all links to point to the new release files
  • Send an ANNOUNCE email:
    • Subject: ANNOUNCE: Tomboy X.Y.Z Released!
    • Cc:

    • Grab the content from a previous announcement and adjust accordingly
    • Make sure to mention changes that would affect packagers
  • You're done! WHEW!

Create a Windows installer

Get the right source

  • Check out the tag that you want to build a release for:
    git checkout X.Y.Z

Build the MSI file

1. Building an installer with SharpDevelop

  • SharpDevelop brings a version of WiX with it and supports it right away, so you just need to build the solution


2. Building an installer with VisualStudio

  • You need to install WiX on your machine first.

  • Build the solution and then the Setup project in it


3. Using the commandline / msbuild

  • You need a version of WiX (either from SharpDevelop or a standalone installation)

  • (it would probably make sense to add C:\Windows\Microsoft.NET\Framework\v2.0.50727 to your path, otherwise give the full path to msbuild below)

  • run
    msbuild /p:WixToolPath=C:\Projects\WiX\3.5 .\Tomboy.sln
    (Replace the path above with your path to your WiX installation)

Upload the binary

Upload the MSI file to the GitHub release you should have created for the tag.

In addition, upload to, log in via ssh, move it to the right place in the ftp folder and notify the ftp servers about the change:

scp Tomboy-x.y.z.msi {your-GNOME-username}
ssh {your-GNOME-username}
mv Tomboy-x.y.z.msi /ftp/pub/GNOME/binaries/win32/tomboy/x.y/
chmod a+r /ftp/pub/GNOME/binaries/win32/tomboy/x.y/Tomboy-x.y.z.msi

Check the file is visible at

Apps/Tomboy/ReleaseChecklist (last edited 2017-05-20 09:10:52 by AlexTereschenko)