Releasing

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
(Creating the release notes)
(Creating the release notes)
Line 132: Line 132:
Next we need to create some release notes to communicate the highlights and specifics for this release.
Next we need to create some release notes to communicate the highlights and specifics for this release.
-
* From the root of the www.abisource.com module, the release notes are located in the release-notes directory.
+
* The release notes are located in the ./release-notes directory under the root of the www.abisource.com module.
* Copy the release notes of the previous release into a file called x.y.z.phtml (replacing x.y.z with the actual AbiWord version)
* Copy the release notes of the previous release into a file called x.y.z.phtml (replacing x.y.z with the actual AbiWord version)
* Update the version numbers located in the title and text of the x.y.z.phtml file
* Update the version numbers located in the title and text of the x.y.z.phtml file

Revision as of 18:57, 24 May 2012

NOTE: the instructions on this page are for the current development release (2.9.x). For a stable release these instructions are very similar, but still different. These notes should be updated to also accommodate the stable release in the future.

Contents

Prerequisites before making a new release

  • Make sure you have commit access to both the "svnroot" and "svnweb" SVN repositories
  • Make sure you can build AbiWord on both a Linux and a Windows system.
  • Make sure everyone has committed all the stuff that needs to go into the new release
  • Make sure a "make distcheck" completes successfully on the latest version of trunk
  • Make sure the MSVC release build works (and the debug build too ofcourse)
  • Make sure no-one commits changes while you prepare the release

Updating the version number

You need to bump the (micro) version number in a number of places, if it hasn't been done already:

  • In the abiword module, update the version number in the following files:
 configure.in
 src/wp/main/win/AbiWord.exe.x86.MANIFEST
 src/wp/main/win/AbiWord.exe.amd64.MANIFEST
  • In the abiword-docs module, update the version number in the following files:
 configure.ac
  • For the abiword-msvc2008 module, start MSVC, open the solution and perform the following steps:
 1. Select all projects, except the LibAbiWord and WindowsInstaller projects
 2. Right click on a project, and select Properties
 3. Under Configuration Properties -> C/C++ -> Preprocessor 
 [TODO: DESCRIBE THIS STEP]
 4. In the WindowsInstaller project, bump the version number in abi_appdef.nsh

Creating tarballs

  • On a Linux system, tag the release and generate the abiword and abiword-docs tarballs with the script below, setting the RELEASE and SVNUSER variables to the proper values.

NOTE: running make dist for the abiword-docs requires that you have abiword installed on your system.

#!/bin/bash

RELEASE="2.9.2"
SVNUSER="uwog"

mkdir abiword-release-dir-$RELEASE
cd abiword-release-dir-$RELEASE

svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/tags/release-$RELEASE
svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/tags/release-$RELEASE
svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-msvc2008/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-msvc2008/tags/release-$RELEASE

svn export svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/tags/release-$RELEASE abiword-$RELEASE
svn export svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/tags/release-$RELEASE abiword-docs-$RELEASE

cd abiword-$RELEASE
./autogen.sh && make distcheck

cd ../abiword-docs-$RELEASE
./autogen.sh && make dist

Building a Windows Installer

  • Checkout the tags you've just created for both the AbiWord and AbiWord-MSVC2008 modules
  • Open the MSVC solution, and set the active configuration to "Release Memory Optimized"
  • Build the installer with Build -> Build Solution

The installer will be created in the ./Setup/NSISv2/ folder of the abiword-msvc2008 module (or was it in ./Setup?).

Making the new release available

Uploading tarballs

  • Create the directories on abisource.com to hold the tarballs and binaries, by ssh-ing into AbiSource and executing the following steps (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword
mkdir x.y.z
cd x.y.z
mkdir source
mkdir Windows
<pre>

* Upload the tarballs and Windows binary to abisource.com (replacing x.y.z with the actual AbiWord version and assuming the three files are located in the current directory):

<pre>
scp abiword-x.y.z.tar.gz uwog@abisource.com:/home/www/downloads/abiword/x.y.z/source
scp abiword-docs-x.y.z.tar.gz uwog@abisource.com:/home/www/downloads/abiword/x.y.z/source
scp abiword-setup-x.y.z.exe uwog@abisource.com:/home/www/downloads/abiword/x.y.z/Windows
  • Create the SHA1SUM hashes on abisource.com (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword/x.y.z/source
sha1sum * > SHA1SUM
cd /home/www/downloads/abiword/x.y.z/Windows
sha1sum * > SHA1SUM
  • Update the symlink to the latest release on abisource.com (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword
rm latest-dev
ln -s x.y.z latest-dev

Updating the website & announcing the new release

First, checkout the website repository. The svn root is at:

 svn+ssh://<username>@svn.abisource.com/svnweb/www.abisource.com/trunk

Creating the changelog

A simple generate_changelog.php script exists in the root of the abiword module to help you generating the initial changelog. We assume you are in the www.abisource.com module. To generate a changelog, run (replacing x.y.z with the actual AbiWord version):

cd changelogs
php /path/to/your/abiword-module/generate_changelog.php x.y.z > x.y.z.phtml
svn add x.y.z.phtml

Now you can start cleaning up the changelog file x.y.z.phtml so it looks nice. Have a look at some of the previous changelogs how they looked to get some ideas. Commit the changelog when you are done (replacing x.y.z with the actual AbiWord version):

svn commit x.y.z.phtml

Creating the release notes

Next we need to create some release notes to communicate the highlights and specifics for this release.

  • The release notes are located in the ./release-notes directory under the root of the www.abisource.com module.
  • Copy the release notes of the previous release into a file called x.y.z.phtml (replacing x.y.z with the actual AbiWord version)
  • Update the version numbers located in the title and text of the x.y.z.phtml file
  • Update the highlights listed in the release notes. You can use the changelog that was generated in one of the previous steps to select 4 or 5 of the most important items to highlight. Make sure to pick the items that you think will be most beneficial to most (potential) AbiWord users.
  • Update the other parts of the text how you see fit. Maybe you want to add some shiny screenshots for example, or warn users of some risk.
  • Upload the release notes:
 svn add x.y.z.phtml
 svn commit x.y.z.phtml

Update the version number of the release on the website

  • In the root of the www.abisource.com web module, update the version in the $abiword_dev_version variable in the file abiword_version.inc
  • Commit the abiword_version.inc file

Verify the website

  • Check you can view the release notes and changelog on the frontpage of abisource.com
  • Check you can actually download all tarballs, the Windows installer and the SHA1SUMS on the download page, which is located at:
 http://abisource.com/download/development.phtml

Inform the public!

Send an e-mail to the abiword-dev and abiword-user mailing lists announcing the new release. It's generally a good idea to copy the release notes into the mail. And ofcourse visit some technology news sites and let them know a new AbiWord release is out!

Personal tools