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 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 configure.ac, 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 git.gnome.org and https://github.com/tomboy-notes/tomboy
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 master.gnome.org
md5sum tomboy-x.y.z.tar.xz scp tomboy-x.y.z.tar.xz {your-GNOME-username}@master.gnome.org:. ssh {your-GNOME-username}@master.gnome.org 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): https://download.gnome.org/sources/tomboy/
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!
- 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
OR
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
OR
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 master.gnome.org, 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}@master.gnome.org:. ssh {your-GNOME-username}@master.gnome.org 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 signal-ftp-sync
Check the file is visible at https://download.gnome.org/binaries/win32/tomboy/