mirror of
https://github.com/php/phd.git
synced 2026-03-23 22:52:05 +01:00
96 lines
3.3 KiB
Plaintext
96 lines
3.3 KiB
Plaintext
How to release a new version of PhD
|
|
-----------------------------------
|
|
|
|
Releases are currently made from the PHD_1_1 branch.
|
|
|
|
1. Check if all changes in PHD_1_1 have been merged upwards to master
|
|
(and the other way around if people committed to the wrong branch).
|
|
|
|
2. Check if all changes have an entry in package.xml's <notes>
|
|
Update the <stability> to stable!, and modify the <date>.
|
|
|
|
3. Check if the api version needs to be increased to match the release
|
|
version. (This is the case when the API has changed. Normally the
|
|
committer has done that already when merging from trunk, but you
|
|
never know).
|
|
|
|
4. Make sure all files are listed in package.xml's <content>.
|
|
|
|
5. $ pear package
|
|
$ pear install PhD-*.tgz
|
|
.. try phd on phpdoc and peardoc ..
|
|
|
|
6. Download Simple Channel Server in the docweb/www/ dir.
|
|
- See Appendix A and D below
|
|
|
|
7. In the docweb/www/ dir, generate the appropriate xml entries using
|
|
the Simple Channel Server packages. You need to be running PHP 5.3
|
|
(make sure you have ext/phar and ext/zlib enabled):
|
|
$ for i in /path/to/phd/PhD{_PHP,_PEAR,_Generic,}-*.tgz; do php -dphar.readonly=0 pearscs.phar release $i bjori; done
|
|
$ git add -A
|
|
$ git diff --staged # Scan through the changes
|
|
$ git commit -m "PhD * channel files"
|
|
|
|
8. Update the file in path/to/docweb/www/phd.php and add a new <li></li> with info from package.xml.
|
|
|
|
9. Commit the changes.
|
|
$ git commit www/phd.php -m "PhD * news"
|
|
$ git push # Push the release upstream
|
|
|
|
10. Create a GIT tag for this release.
|
|
First, commit the package*.xml changes.
|
|
$ git add package*.xml
|
|
$ git commit -m 'Prep for * release'
|
|
Then, tag it.
|
|
$ cd /path/to/phd
|
|
$ git tag RELEASE_1_1_X
|
|
$ git push --tags
|
|
|
|
11. Test by installing from the channel:
|
|
$ pear upgrade -f doc.php.net/phd-$previousversion
|
|
$ pear upgrade doc.php.net/phd-$thisstability
|
|
.. try phd on phpdoc and peardoc ..
|
|
|
|
12. Send release mail to phpdoc@ and pear-doc@lists.php.net
|
|
|
|
A. Remove all contents from <notes> and increase version/release.
|
|
Change stability back to "snapshot". If needed, revert PHD_VERSION in
|
|
config.php (VERSION in phpdotnet/phd/Config) back to "phd-from-svn".
|
|
|
|
B. Hack on.
|
|
|
|
|
|
How to release a new version of pman
|
|
------------------------------------
|
|
- Note: This requires several external resources currently
|
|
- Requirements: See Appendix A, B, C, D
|
|
|
|
$ mkdir ~/tmp && cd ~/tmp
|
|
$ php /path/to/phpdoc/doc-base/configure.php --output=pman.xml
|
|
$ phd -d pman.xml -P PHP -f manpage
|
|
$ php /path/to/phd/package-pman.php
|
|
$ cd /path/to/docweb/www # NOTE: www/ is important. Random errors otherwise
|
|
$ php -dphar.readonly=0 pearscs.phar release ~/tmp/pman-YYYY.MM.DD.tgz phpdoc
|
|
$ git status
|
|
$ git add -A
|
|
$ git commit -m "New pman release"
|
|
$ git push
|
|
|
|
|
|
Appendix
|
|
------------------------------------
|
|
A. Downloading Simple Channel Server into the docweb/www/ dir.
|
|
$ cd /path/to/docweb/www
|
|
$ wget -O pearscs.phar "https://github.com/pyrus/Pyrus_SimpleChannelServer/blob/master/pearscs.phar?raw=true"
|
|
|
|
B. Installing PEAR_PackageFileManager2
|
|
$ pear install PEAR_PackageFileManager2
|
|
|
|
C. Using package-pman.php
|
|
- It's located in GIT, and not within the installed phd package
|
|
- Running it from GIT works, so:
|
|
$ php /path/to/phd/package-pman.php
|
|
|
|
D. Docweb is in GIT here, so to checkout:
|
|
$ git clone git@github.com:php/web-doc.git
|