From 136caa2d941e51e5a742df3b05fb3e596f778636 Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Sat, 5 May 2007 22:09:48 +0000 Subject: [PATCH] Update release procedures: more automation! git-svn-id: http://htmlpurifier.org/svnroot@1030 48356398-32a2-884e-a903-53898d9a118a --- release.txt | 30 +++++++++++++++++++++--------- releases/build-all.bat | 5 +++++ releases/build-all.sh | 4 ++++ releases/build.bat | 6 ++++++ releases/sign-all.bat | 7 +++++++ 5 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 releases/build-all.bat create mode 100755 releases/build-all.sh create mode 100644 releases/build.bat create mode 100644 releases/sign-all.bat diff --git a/release.txt b/release.txt index f0e3150..734f2cd 100644 --- a/release.txt +++ b/release.txt @@ -3,11 +3,15 @@ In order to perform a release, a few steps have to be taken: == Pre-Procedures == -# [@] Bump version numbers, commit as "Release x.y.z." +[Prepare codebase for release] +# [@] Run `php release.php` (bumps version numbers) - Update NEWS and Doxyfile files - Bump version in HTMLPurifier.php (two times) - - [if necessary] Bump version numbers in TODO +# [if necessary] Bump version numbers in TODO # Write new WHATSNEW entry +# Commit as "Release x.y.z." + +[Manage auxiliary branches] if ( need to deprecate old branch ) { # Obsolete old release series - Add OBSOLETE file with text: @@ -23,13 +27,21 @@ if ( need to deprecate old branch ) { # Merge changes into branch, commit as "Merged r#s for x.y.z release into branch" - Be sure to remove future items from NEWS } -# Merge into strict branch: revision of last release + 1 to head -# Tag the releases (trunk or rel-branch and strict-branch) -# Build the zip and tar.gz files: - - Use releases/build.sh to build the tarball and download it - - For the zip, manually perform the build, upload to server -# Build the PEAR release using package.php -# Sign the releases using GPGShell + +[Manage strict branch] +# [@] Run `php release2-strict.php` (merges in strict branch) + - Resolve conflicts + - Run unit tests + - Commit + +[Perform release] +# [@] `php release3-tag.php` (tags the releases) +# [@] Build the zip and tar.gz files: + - Run `build-all.sh $VERSION` on the server + - Run build-all.bat on Windows computer +# [@] Build the PEAR release using package.php and `pear package` + - Two stage, run pear_pre_package.bat and pear_package.bat +# [@] Run sign-all.bat, enter password when prompted (signs releases) # Update the webpages: - index.html . Write a news entry describing the release (see WHATSNEW) diff --git a/releases/build-all.bat b/releases/build-all.bat new file mode 100644 index 0000000..9807684 --- /dev/null +++ b/releases/build-all.bat @@ -0,0 +1,5 @@ +@echo off + +if [%1] neq [] (set VERSION=%1) else (set /p VERSION=Version? ) +build.bat %VERSION% +build.bat %VERSION%-strict \ No newline at end of file diff --git a/releases/build-all.sh b/releases/build-all.sh new file mode 100755 index 0000000..c71fa3e --- /dev/null +++ b/releases/build-all.sh @@ -0,0 +1,4 @@ +#!/bin/bash +VERSION="$1" +./build.sh $VERSION +./build.sh $VERSION-strict \ No newline at end of file diff --git a/releases/build.bat b/releases/build.bat new file mode 100644 index 0000000..68aec30 --- /dev/null +++ b/releases/build.bat @@ -0,0 +1,6 @@ +@echo off + +if [%1] neq [] (set VERSION=%1) else (set /p VERSION=Version? ) +svn export --force http://htmlpurifier.org/svnroot/htmlpurifier/tags/%VERSION% htmlpurifier-%VERSION% +zip -r htmlpurifier-%VERSION%.zip htmlpurifier-%VERSION% +rmdir /S /Q htmlpurifier-%VERSION% \ No newline at end of file diff --git a/releases/sign-all.bat b/releases/sign-all.bat new file mode 100644 index 0000000..55dcfe2 --- /dev/null +++ b/releases/sign-all.bat @@ -0,0 +1,7 @@ +@echo off + +if [%1] neq [] (set VERSION=%1) else (set /p VERSION=Version? ) +gpg -b htmlpurifier-%VERSION%.tar.gz +gpg -b htmlpurifier-%VERSION%-strict.tar.gz +gpg -b htmlpurifier-%VERSION%.zip +gpg -b htmlpurifier-%VERSION%-strict.zip -- 2.11.4.GIT