Releasing

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
(Update the version number of the release on the website)
(Update the version number of the release on the website)
Line 134: Line 134:
==== Update the version number of the release on the website ====
==== 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 following file:
+
* 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
-
  abiword_version.inc
+
-
 
+
-
* Commit the ./abiword_version.inc file
+
==== Verify the website ====
==== Verify the website ====

Revision as of 18:46, 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

TODO

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!