Releasing

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
(Creating the release notes)
 
(9 intermediate revisions not shown)
Line 1: Line 1:
-
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.
+
== Important notes ==
 +
 
 +
* 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.
 +
* These instructions assume you are mostly on a Linux/Unix machine.
 +
* These instrictions do not explain how to include a MacOSX release, since the OSX port is not ready for release at this time.
== Prerequisites before making a new release ==
== Prerequisites before making a new release ==
 +
* Make sure you have discussed in advance the fact that you are going to make a release; at least the developer mailing list should be informed.
* Make sure you have commit access to both the "svnroot" and "svnweb" SVN repositories
* 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 you can build AbiWord on both a Linux and a Windows system, or that you get hold of someone who can.
* Make sure everyone has committed all the stuff that needs to go into the new release
* 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 a "make distcheck" completes successfully on the latest version of trunk
Line 27: Line 32:
   1. Select all projects, except the LibAbiWord and WindowsInstaller projects
   1. Select all projects, except the LibAbiWord and WindowsInstaller projects
   2. Right click on a project, and select Properties
   2. Right click on a project, and select Properties
-
   3. Under Configuration Properties -> C/C++ -> Preprocessor  
+
   3. Under Configuration Properties -> C/C++ -> Preprocessor
-
   [TODO: DESCRIBE THIS STEP]
+
   4. Select the Debug configuration
-
   4. In the WindowsInstaller project, bump the version number in abi_appdef.nsh
+
  5. Edit the Preprocessor Definitions variable: it contains a bunch of defines, including 3 version related variables: PACKAGE_VERSION, ABI_BUILD_VERSION and ABIWORD_SERIES. Update these version numbers. Note: usually do you not need to touch the ABIWORD_SERIES variable, as it does not contain the micro version number.
 +
   6. Save the updated preprocessor definitions.
 +
  7. Select the Release configuration, and repeat steps 5 and 6.
 +
  8. Close the Configuration Properties window
 +
  9. Deselect all projects, select the LibAbiWord project, and repeat steps 4, 5, 6, 7 and 8.
 +
  10. In the WindowsInstaller project, bump the version number in abi_appdef.nsh
== Creating tarballs ==
== Creating tarballs ==
Line 65: Line 75:
* Build the installer with Build -> Build Solution
* 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?).
+
An installer called abiword-setup-x.y.z.exe will be created in the ./Setup/NSISv2/ folder of the abiword-msvc2008 module.
== Making the new release available ==
== Making the new release available ==
Line 79: Line 89:
mkdir source
mkdir source
mkdir Windows
mkdir Windows
-
<pre>
+
</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):
* 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):
Line 132: Line 142:
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.
-
* The release notes are located in the ./release-notes directory under the root of the www.abisource.com module.
+
* Enter the ./release-note directory located 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

Current revision as of 10:42, 25 November 2012

Contents

Important notes

  • 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.
  • These instructions assume you are mostly on a Linux/Unix machine.
  • These instrictions do not explain how to include a MacOSX release, since the OSX port is not ready for release at this time.

Prerequisites before making a new release

  • Make sure you have discussed in advance the fact that you are going to make a release; at least the developer mailing list should be informed.
  • 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, or that you get hold of someone who can.
  • 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
 4. Select the Debug configuration
 5. Edit the Preprocessor Definitions variable: it contains a bunch of defines, including 3 version related variables: PACKAGE_VERSION, ABI_BUILD_VERSION and ABIWORD_SERIES. Update these version numbers. Note: usually do you not need to touch the ABIWORD_SERIES variable, as it does not contain the micro version number.
 6. Save the updated preprocessor definitions.
 7. Select the Release configuration, and repeat steps 5 and 6.
 8. Close the Configuration Properties window
 9. Deselect all projects, select the LibAbiWord project, and repeat steps 4, 5, 6, 7 and 8.
 10. 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

An installer called abiword-setup-x.y.z.exe will be created in the ./Setup/NSISv2/ folder of the abiword-msvc2008 module.

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
  • 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):
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.

  • Enter the ./release-note directory located 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