Revamp build scripts; setup rss-from-git.
[htmlpurifier-web.git] / release.txt
blobddb9713494f8274704241ca721e004e332c786f7
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 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
25        bypass this)
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:
35     - news.xhtml
36        . Write a news entry describing the release (see WHATSNEW)
37     - current.ent
38        . Bump version number and date
39     - Switch the external for live/ (this means updating the submodule to
40       the tag)
41     - Update .htaccess.in
42 # Commit and push
44 == Post-procedures ==
46 # Regenerate API documentation (TODO: AUTOMATE)
47     - Run the compile_*.bat scripts (takes a while)
48     - Archive them into tars
49     - Upload to server
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&current_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