1 In order to perform a release, a few steps have to be taken:
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 and FOCUS entry
11 # Commit as "Release x.y.z." and push
12 # `git tag -u 0x869C48DA v1.2.3` (0x869C48DA is Edward's master private key;
13 substitute with your own if you're making a release.) (NOT TESTED!)
14 (CANNOT USE LAPTOP FOR RELEASE!)
15 # svn import a clean Git checkout of the tag with the .git directory removed
16 to svn+ssh://ezyang@htmlpurifier.org/svnroot/htmlpurifier/tags/1.2.3
17 (even better s/htmlpurifier.org/SVN.HTMLPurifier/ if you have the appropriate
18 PuTTY session registered) (NOT TESTED!)
20 ( SKETCHY! This section has not been completed yet. )
22 # [@] Build the zip and tar.gz files:
23 - Run `./build.sh $VERSION` on the server, download with 'download.bat'
24 (THIS PART is BROKEN, due to our old-version guard. Have download.bat
26 - Run build.bat on Windows computer, upload the files
27 ( Careful with EOL style!)
29 ( Should get some sort of repos that contains just the pristine tarballs/zips??? )
31 # [@] Build the PEAR release using package_pear.bat (package.php and `pear package`)
32 # [@] Run sum-all.bat (generates sha1 checksums)
33 # [@] Run sign-all.bat, enter password when prompted (signs releases)
34 # Update the webpages:
36 . Write a news entry describing the release (see WHATSNEW)
38 . Bump version number and date
39 - Switch the external for live/ (this means updating the submodule to
46 # Regenerate API documentation (TODO: AUTOMATE)
47 - Run the compile_*.bat scripts (takes a while)
48 - Archive them into tars
50 - Reload documents with ./reload-docs.sh
51 # Smoketest release by downloading packages, verify contents list, sha1 and sig
52 # Upload PEAR release at http://htmlpurifier.org/pear-server.php
53 # Regenerate configuration documentation
54 - Run http://htmlpurifier.org/live/configdoc/generate.php
55 # Update relevant feeder sites/lists
56 - [@] Run Freshmeat script update-freshmeat.bat (update-freshmeat.php username password)
57 - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list¤t_step=Index&next_step=ShowSend&address=admin&domain=htmlpurifier.org>
58 . Change version number in subject field
59 . Use: news item on webpage (add link to webpage as HTML Purifier),
60 download links (substitute in htmlpurifier.org), sha-1 sums.
61 (NOT using GPGShell anymore. Figure out command line args to use on gpg)
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