f0e315038b3e6658aed6fc766ad2283a750199db
[htmlpurifier-web.git] / release.txt
blobf0e315038b3e6658aed6fc766ad2283a750199db
1 In order to perform a release, a few steps have to be taken:
2 [@] = Automated
4 == Pre-Procedures ==
6 #  [@] Bump version numbers, commit as "Release x.y.z."
7     - Update NEWS and Doxyfile files
8     - Bump version in HTMLPurifier.php (two times)
9     - [if necessary] Bump version numbers in TODO
10 # Write new WHATSNEW entry
11 if ( need to deprecate old branch ) {
12     # Obsolete old release series
13         - Add OBSOLETE file with text:
14     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
15     Bug and security fixes will not be issued regardless of security.
16           ...and then info on backwards incompatible changes.
17         - Add line to NEWS:
18     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
19 } elseif ( creating a new branch for sub-release ) {
20     # If branch doesn't exist yet, branch from the last tag
21     # Update switch2branch script, replacing version number
22     # Open log for trunk, then switch to branch
23     # Merge changes into branch, commit as "Merged r#s for x.y.z release into branch"
24         - Be sure to remove future items from NEWS
26 # Merge into strict branch: revision of last release + 1 to head
27 # Tag the releases (trunk or rel-branch and strict-branch)
28 # Build the zip and tar.gz files:
29     - Use releases/build.sh to build the tarball and download it
30     - For the zip, manually perform the build, upload to server
31 # Build the PEAR release using package.php
32 # Sign the releases using GPGShell
33 # Update the webpages:
34     - index.html
35        . Write a news entry describing the release (see WHATSNEW)
36        . Bump all the version numbers in the download section
37        . Generate sha1 checksums and update those
38     - comparison.html
39        . Bump the version and release date (two areas)
40 # Commit
42 == Post-procedures ==
44 # Regenerate API documentation
45     - Run the compile_*.bat scripts (takes a while)
46     - Archive them into tars
47     - Upload to server
48     - Delete old folder contents with `rm -r $folder`
49     - Extract with `tar -xf $filename`
50 # Smoketest release by downloading packages, verify contents list, sha1 and sig
51 # Regenerate configuration documentation
52     - Run http://hp.jpsband.org/live/configdoc/generate.php
53 # Add new version to bugtracker at:
54     - http://hp.jpsband.org/mantis/manage_proj_edit_page.php?project_id=1
55 # Update relevant feeder sites/lists
56     - Freshmeat <http://freshmeat.net/add-release/61206/65948/>
57         . Three fields need version number bumps
58     - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list&current_step=Index&next_step=ShowSend&address=htmlpurifier&domain=jpsband.org>
59         . Change version number in subject field
60         . Use: news item on webpage (add link to webpage as HTML Purifier),
61           download links (substitute in hp.jpsband.org), sha-1 sums.
62     - Hotscripts listing <http://www.hotscripts.com/account/index.html?section=listings&type=edit&listing_id=65309>
63         . Step 1-3: No changes
64         . Step 4: Bump version number in two fields
65 # Add new version items in NEWS for trunk