Update docs on index, also fix xhtml-compiler boo-boo.
[htmlpurifier-web.git] / release.txt
blob9bfb7ca174f794dc38f679f07eb11e0ac3d536f0
1 In order to perform a release, a few steps have to be taken:
2 [@] = Automated
3 [ ] = Should be automated
5 == Pre-Procedures ==
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 and FOCUS entry
12     # Commit as "Release x.y.z." and push
13 # [ ] Tag and push the release 
14     . `git tag -u 0x869C48DA vx.y.z` (0x869C48DA is Edward's master private key; 
15   substitute with your own if you're making a release.)
16     . `git push --tags`
17 # [@] `build-all.bat` in releases: Build the zip and tar.gz
18 # [ ] Upload files
20  ( Should get some sort of repos that contains just the pristine tarballs/zips??? )
22 # [ ] Build the PEAR release
23     - php package.php
24     - cd library
25     - pear package
26     NOTE: If you need to setup the PEAR environment, setup PEAR first, then:
27         pear install PEAR_PackageFileManager
28         pear channel-discover htmlpurifier.org
29 # [@] Run sum-all.bat (generates sha1 checksums)
30 # [@] Run sign-all.bat, enter password when prompted (signs releases)
31 # Update the webpages:
32     - news/YEAR/MODA-name.xhtml
33        . Write a news entry describing the release (see WHATSNEW)
34     - news/YEAR/MODA-name.txt
35         . Use: news item on webpage (add link to webpage as HTML Purifier),
36           download links (substitute in htmlpurifier.org), sha-1 sums.
37         . Sign using `gpg -u 0x869C48DA --clearsign filename` then move *.txt.asc over *.txt original
38     - current.ent
39        . Bump version number and date
40     - Update submodule live/
41         cd live
42         git fetch
43         git checkout vx.y.z
44     - Update .htaccess.in
45     - Full-disclosure for security problems in previous release
46 # Commit and push and mirror.sh
48 == Post-procedures ==
50 ( SVN compatibility; this is still in the air )
51 # svn import a clean Git checkout of the tag with the .git directory removed
52   to svn+ssh://ezyang@htmlpurifier.org/svnroot/htmlpurifier/tags/1.2.3
53   (even better s/htmlpurifier.org/SVN.HTMLPurifier/ if you have the appropriate
54   PuTTY session registered) (NOT TESTED!)
56 # [ ] Regenerate API documentation
57     - Run the compile_*.bat scripts (takes a while)
58     - Archive them into tars
59     - Upload to server
60     - Reload documents with ./reload-docs.sh
61 # Smoketest release by downloading packages, verify contents list, sha1 and sig
62 # Upload PEAR release at http://htmlpurifier.org/pear-server.php
63 # Regenerate configuration documentation
64     - Run http://htmlpurifier.org/live/configdoc/generate.php
65 # Update relevant feeder sites/lists
66     - [@] Run Freshmeat script update-freshmeat.bat (update-freshmeat.php username password)
67     - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list&current_step=Index&next_step=ShowSend&address=admin&domain=htmlpurifier.org>
68     - Hotscripts listing <http://www.hotscripts.com/account/index.html?section=listings&type=edit&listing_id=65309>
69         . Change version number in subject field
70         . Step 1-3: No changes
71         . Step 4: Bump version number in two fields
72 # Add new version items in NEWS for trunk