Difference between revisions of "Release Instructions"
LegacyKing (talk | contribs) (→The Build) |
(→Signing Files with PGP) |
||
Line 58: | Line 58: | ||
# PR Monkeys create a news item for the new release | # PR Monkeys create a news item for the new release | ||
# PR Monkeys send announcement to all pcgen mailing list for the new release | # PR Monkeys send announcement to all pcgen mailing list for the new release | ||
+ | |||
+ | ==Mac Installer== | ||
+ | |||
+ | See [http://pcgen.svn.sourceforge.net/viewvc/pcgen/Trunk/pcgen/installers/mac-installer/Instructions.rtf Instructions] | ||
==Signing Files with PGP== | ==Signing Files with PGP== | ||
We currently use the [[http://www.gnupg.org/ GnuPG for Windows]] to generate the signatures. You will need the private key, either your own, or the PCGen one (contact the PCGen BOD). Once GnuPG is installed and knows about the key you wish to use, it is just a matter fo right clicking on the files to be signed (multi-select is fine) and selecting GPGee > Sign and then making sure the PCGen key is selected, hitting OK and entering the passphrase for the key. This creates an .asc signature file for each selected file. | We currently use the [[http://www.gnupg.org/ GnuPG for Windows]] to generate the signatures. You will need the private key, either your own, or the PCGen one (contact the PCGen BOD). Once GnuPG is installed and knows about the key you wish to use, it is just a matter fo right clicking on the files to be signed (multi-select is fine) and selecting GPGee > Sign and then making sure the PCGen key is selected, hitting OK and entering the passphrase for the key. This creates an .asc signature file for each selected file. |
Revision as of 15:36, 15 September 2008
Introduction
Here are the steps to follow when making a release of PCGen. If it is your first time, please check the prereqs section at the bottom of this page.
Prerequisites
The first time you run a release you will have to make sure you have the following tools available:
Release Notes
- Text editor
- Web browser
- Perl interpreter
- Perl modules: readonly (installed on Windows via ActivePerl's Perl Package Manager)
Release
- Java SDK 1.5 (the one that includes the javac compiler)
- Maven 1.1
- Ant 1.6
- Perl interpreter
- Perl modules: readonly and File-Copy-Recursive (installed on Windows via ActivePerl's Perl Package Manager)
- Cygwin You'll need to install SSH (two modules under Net), an editor, and rsync)
- SVN
- NSIS
Create Release Notes
- Update your local copy of pcgen from SVN
- Copy the previous set of release notes to pcgen-release-notes-nnn.html where nnn is the version number.
- Do a global replace of the old version number to the new version number, both as n.nn.n and nnnn
- Open a command line window and go to the installers/release-notes folder. Run the command perl genreleasenotes.pl yyyymmdd where yyyymmdd is the date of the previous release. This will generate a list of changes in the release
- Copy the text from work/whatsnew.txt to the release notes What's New section
- Copy the text from work/changelog.txt to the release notes Changelog section
- Commit the new release notes and notify pcgen_bod so they can review it.
- Notify pcgen dev and experimental lists of upcoming release, asking for autobuilds to be tested. Best to give 24 hours notice.
The Build
- Using a clean directory with no changes to the pcgen files
- svn update the PCGen repository (5 mins)
- Release manager edits src/java/pcgen/gui/PCGenProp.properties to set the release date, version number, contributors, etc. and commit the result (5 mins)
- Execute ant clean build test for alpha and beta builds or ant clean build-optimize test for production builds in the pcgen directory and verify there are no failing Junit test (10 mins)
- Check the trackers for any closed requests missing from the release notes. Steps 4 and 6 of 'Create Release Notes' section above can be used to assist here. (10 mins)
- Upload the release notes to the doc section of the PCGen project. (5 mins)
- Smoke test the newly build pcgen.jar (you can use maven pcgen:genrelease to generate a testing zip) (30 mins)
- Delete the generated files in the ../release folder and then run maven clean to tidy up the maven generated files in the target directory
- Run maven scm:prepare-release (which updates the maven files and tags the SVN repository). Tag format is release-x.x.x while the version format is x.x.x (2 mins)
- Run maven pcgen:release to generate the release files and upload them to SourceForge. (Takes 5-10 mins then 5 mins) This will:
- Run release.pl to create the .zip files and to prepare the nsis directory for the Windows installer
- Run the NSIS compiler to create the windows installation .exe
- Run gendigest.pl to generate the SHA1 checksums for the files.
- When the above command pauses (generally after 5-10 mins), sign the .exe and .zip files with PGP. See below for the method.
- Once the command completes, using cygwin on Windows, or from the Unix prompt, point the program to your target directory e.g. /cygdrive/d/eclipse/pcgen/target and then use rsync to upload the generated files in the publish folder. e.g. rsync -avP -e ssh *.zip jdempsey@frs.sourceforge.net:uploads/ Repeast for exe and jar. See the [SourceForge Release File System doco] for more information. (1 hour or more)
- Create a new release in Stable or Unstable, make a link to the release notes in the notes section and follow it with the SHA1 checksums from target/SHA1-digests.txt. Then paste the changes from the top section of the release notes into the changes list. (5 mins)
- Add all the uploaded PCGen files to the release and adjust all the file information (10 mins)
- Notify PCGen_bod of the new release. (5 mins)
- Send the notice for the new release (1 min)
- PR Monkeys create a news item for the new release
- PR Monkeys send announcement to all pcgen mailing list for the new release
Mac Installer
See Instructions
Signing Files with PGP
We currently use the [GnuPG for Windows] to generate the signatures. You will need the private key, either your own, or the PCGen one (contact the PCGen BOD). Once GnuPG is installed and knows about the key you wish to use, it is just a matter fo right clicking on the files to be signed (multi-select is fine) and selecting GPGee > Sign and then making sure the PCGen key is selected, hitting OK and entering the passphrase for the key. This creates an .asc signature file for each selected file.