1 In order to perform a release, a few steps have to be taken:
3 [ ] = Should be automated
7 [Prepare codebase for release]
8 # [@] Run tests/multitest.php, fix any errors
9 # [@] Run `php release1-update.php $VERSION` (bumps version numbers)
10 # [if necessary] Bump version numbers in TODO
11 # Write new WHATSNEW entry
12 # Commit as "Release x.y.z." and push
13 # [ ] Tag and push the release
14 . `git tag -u 0x869C48DA vx.y.z` (this is Edward's master private key;
15 substitute with your own if you're making a release. Use tag message
16 "HTML Purifier x.y.z")
18 # [@] `build-all.sh` in releases: Build the zip and tar.gz
19 # [@] Upload files with `upload-all.sh x.y.z`
21 ( Should get some sort of repos that contains just the pristine tarballs/zips??? )
23 # [ ] Build the PEAR release
24 - git clone htmlpurifier htmlpurifier-pristine
25 - cd htmlpurifier-pristine
29 NOTE: If you need to setup the PEAR environment, setup PEAR first, then:
30 pear install PEAR_PackageFileManager2
31 # this is actually a somewhat gnarly knot of dependency jumps
32 # from Ubuntu. First thing to do is pear upgrade-all, then
33 # run this with --alldeps and manually install the ones that
35 pear channel-discover htmlpurifier.org
36 # [@] Run sum-all.sh (generates sha1 checksums)
37 # [@] Run sign-all.sh, enter password when prompted (signs releases)
38 # Update the webpages:
39 - news/YEAR/MODA-name.xhtml
40 . Write a news entry describing the release (see WHATSNEW)
41 - news/YEAR/MODA-name.txt
42 . Use: news item on webpage (add link to webpage as HTML Purifier),
43 download links (substitute in htmlpurifier.org), sha-1 sums.
44 . Sign using `gpg -u 0x869C48DA --clearsign filename` then move *.txt.asc over *.txt original
46 . Bump version number and date
47 - Update submodule live/
52 - Full-disclosure for security problems in previous release
53 # Commit and push and mirror.sh
57 # svn import a clean Git checkout of the tag with the .git directory
59 svn import svn+ssh://ezyang@htmlpurifier.org/home/ezyang/svn/svnroot/htmlpurifier/tags/1.2.3
60 # [ BROKEN ] [@] Regenerate API documentation with `regenerate-docs.sh`
61 # Smoketest release by downloading packages, verify contents list, sha1 and sig
62 # Pirum the pear release
63 cd /mit/ezyang/web_scripts/htmlpurifier
64 php pirum add . HTMLPurifier-4.5.0.tgz
65 # Regenerate configuration documentation
66 - Run http://htmlpurifier.org/live/configdoc/generate.php
67 # Update relevant feeder sites/lists
68 [ BROKEN ] - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list¤t_step=Index&next_step=ShowSend&address=admin&domain=htmlpurifier.org>
69 - htmlpurifier@mit.edu
70 # Add new version items in NEWS for trunk
72 - Run http://htmlpurifier.org/xhtml-compiler/update.php
73 - Run http://htmlpurifier.org/xhtml-compiler/htaccess.php