Update custom with latest and greatest object code.
[htmlpurifier-web.git] / release.txt
blobe2fe0018c24dd6b7b32d722358bef96def6e6878
1 In order to perform a release, a few steps have to be taken:
2 [@] = Automated
4 == Pre-Procedures ==
6 [Prepare codebase for release]
7 # [@] Run tests/multitest.php, fix any errors
8 # [@] Run `php release1-update.php $VERSION` (bumps version numbers)
9     # [if necessary] Bump version numbers in TODO
10     # Write new WHATSNEW entry
11     # Commit as "Release x.y.z."
13 [Manage auxiliary branches]
14 if ( need to deprecate old branch ) {
15     # Obsolete old release series
16         - Add OBSOLETE file with text:
17     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
18     Bug and security fixes will not be issued regardless of security.
19           ...and then info on backwards incompatible changes.
20         - Add line to NEWS:
21     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
22 } elseif ( creating a new branch for sub-release ) {
23     # If branch doesn't exist yet, branch from the last tag
24     # Update switch2branch script, replacing version number
25     # Open log for trunk, then switch to branch
26     # Merge changes into branch, commit as "Merged r#s for x.y.z release into branch"
27         - Be sure to remove future items from NEWS
30 [Manage strict branch]
31 # Switch to strict branch using `switch2branch-strict.bat`
32 # [@] Run `php release2-strict.php` (merges in strict branch)
33     - Resolve conflicts
34     - Run unit tests (php multitest.php)
35     - Commit
37 [Perform release]
38 # Switch back to trunk using `switch2trunk.bat`
39 # [@] `php release3-tag.php` (tags the releases)
40 # [@] Build the zip and tar.gz files:
41     - Run `build-all.sh $VERSION` on the server, download with 'download.bat'
42     - Run build-all.bat on Windows computer, upload the files
43 # Clear the Serializer cache (flush-definition-cache.bat)
44 # [@] Build the PEAR release using package_pear.bat (package.php and `pear package`)
45 # [@] Run sum-all.bat (generates sha1 checksums)
46 # [@] Run sign-all.bat, enter password when prompted (signs releases)
47 # Update the webpages:
48     - news.xhtml
49        . Write a news entry describing the release (see WHATSNEW)
50     - current.ent
51        . Bump version number and date
52     - Switch the external for live/
53 # Commit
55 == Post-procedures ==
57 # Regenerate API documentation (TODO: AUTOMATE)
58     - Run the compile_*.bat scripts (takes a while)
59     - Archive them into tars
60     - Upload to server
61     - Reload documents with ./reload-docs.sh
62 # Smoketest release by downloading packages, verify contents list, sha1 and sig
63 # Regenerate configuration documentation
64     - Run http://htmlpurifier.org/live/configdoc/generate.php
65 # Update relevant feeder sites/lists
66     - Freshmeat <http://freshmeat.net/add-release/61206/65948/>
67         . Three fields need version number bumps
68     - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list&current_step=Index&next_step=ShowSend&address=admin&domain=htmlpurifier.org>
69         . Change version number in subject field
70         . Use: news item on webpage (add link to webpage as HTML Purifier),
71           download links (substitute in htmlpurifier.org), sha-1 sums.
72     - Hotscripts listing <http://www.hotscripts.com/account/index.html?section=listings&type=edit&listing_id=65309>
73         . Step 1-3: No changes
74         . Step 4: Bump version number in two fields
75 # Add new version items in NEWS for trunk