Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 228 lines (141 sloc) 8.275 kb
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
1 =======================
2 PHP Release Process
3 =======================
4
7ca6f66 lets me all american :)
Lukas Smith authored
5 General notes and tips
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
6 ---------------------------
7
8 1. Do not release on Fridays, Saturdays or Sundays
9 because the sysadmins can not upgrade stuff then.
10
11 2. Package the day before a release. So if the release is to be on Thursday,
12 package on Wednesday.
13
14 3. Ensure that Windows builds will work before packaging
15
16 4. Follow all steps to the letter. When unclear ask previous RM's (Derick/Ilia)
17 before proceeding. Ideally make sure that for the first releases one of the
18 previous RM's is around to answer questions. For the steps related to the
19 php/QA/bug websites try to have someone from the webmaster team (Bjori) on hand.
20
21 Rolling a non stable release (alpha/beta/RC)
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
22 ---------------------------
23
24 1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
25
04aaae3 typo fix (thx chris)
Lukas Smith authored
26 2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
27 Do not use abbreviations for alpha and beta.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
28
29 3. Commit those changes
30
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
31 4. tag the repository with the version f.e. "``cvs tag php_4_4_1RC1``"
32 (of course, you need to change that to the version you're rolling an RC for).
33 When making 5.X release, you need to tag the Zend directory separately!!
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
34
04aaae3 typo fix (thx chris)
Lukas Smith authored
35 5. Bump up the version numbers in ``main/php_version.h``, ``configure.in``
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
36 and possibly ``NEWS`` again, to the **next** version. F.e. if the release
37 candidate was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless
38 if we get a new RC or not. This is to make sure ``version_compare()`` can
39 correctly work.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
40
41 6. Commit those changes
42
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
43 7. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
44 branch if you're rolling 4.4.x releases).
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
45
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
46 8. You do not have to update the tree, but of course you can with "``cvs up -dP``".
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
47
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
48 9. run: ``./makedist php 4.4.1RC1``, this will export the tree, create configure
49 and build two tarballs (one gz and one bz2).
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
50
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
51 10. Copy those two tarballs to www.php.net, in your homedir their should be a
52 directory "downloads/". Copy them into there, so that the system can generate
53 MD5 sums. If you do not have this directory, talk to Derick.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
54
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
55 11. Now the RC can be found on http://downloads.php.net/yourname,
56 f.e. http://downloads.php.net/derick/
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
57
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
58 12. Once the release has been tagged, contact the PHP Windows development team
59 (internals-win@lists.php.net) so that Windows binaries can be created. Once
60 those are made, they should be placed into the same directory as the source snapshots.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
61
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
62 Getting the non stable release announced
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
63 ---------------------------------------
64
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
65 1. Send an email (see example here: http://news.php.net/php.internals/19486)
66 **To** ``internals@lists.php.net`` and ``php-general@lists.php.net`` lists
67 pointing out "the location of the release" and "the possible release date of
68 either the next RC, or the final release".
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
69
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
70 2. Send an email (see example here http://news.php.net/php.qa/26069) **To**
ad97f0b updated due to the creation of the primary testers mailinglist
Lukas Smith authored
71 ``php-qa@lists.php.net`` and **CC** ``primary-qa-tests@lists.php.net``.
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
72 This email is to notify the selected projects about a new RC so that they can
ad97f0b updated due to the creation of the primary testers mailinglist
Lukas Smith authored
73 make sure their projects keep working. Make sure that you have been setup
74 as a moderator for ``primary-qa-tests@lists.php.net`` by having someone (Wez,
75 Derick) run the following commands for you:
76
77 ``ssh lists.php.net``
78
79 ``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
80
81 3. Update the MD5 sums in ``qaweb/include/rc-md5sums.txt``.
82
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
83 4. Update in ``qaweb/include/release-qa.php`` constants with the new RC and
84 commit this.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
85
86 a. ``$BUILD_TEST_RELEASES`` = array("4.4.7RC1", "5.2.2RC1")
87
88 b. ``$CURRENT_QA_RELEASE_4`` = "4.4.7RC1" (``$CURRENT_QA_RELEASE_5`` for PHP5)
89
90 c. ``$RELEASE_PROCESS`` = array(4 => true, 5 => true)
91
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
92 1. Update in ``php-bugs-web/include/functions.inc`` the ``show_version_option``
93 function to include the new RC and commit.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
94
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
95 2. Run the bumpRelease script for phpweb in your local checkout
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
96
97 a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
98
99 3. Update ``phpweb/include/version.inc`` (x=major version number)
100
101 a. ``$PHP_x_RC`` = "5.3.0RC1"
102
103 b. ``$PHP_x_RC_DATE`` = "06 September 2007"
104
105 4. Commit those changes:
106
107 a. ``cvs commit include/version.inc include/releases.inc``
108
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
109 Rolling a stable release
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
110 -----------------
111
112 1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
113
04aaae3 typo fix (thx chris)
Lukas Smith authored
114 2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
115
116 3. **Merge** all related sections in NEWS (f.e. merge the 4.4.1RC1 and 4.4.0 sections)
117
118 4. Commit those changes
119
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
120 5. tag the repository with the version f.e. "``cvs tag php_4_4_1``"
121 (of course, you need to change that to the version you're rolling an RC for).
122 When making 5.X release, you need to tag the Zend directory separately!!
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
123
04aaae3 typo fix (thx chris)
Lukas Smith authored
124 6. Bump up the version numbers in ``main/php_version.h``, ``configure.in`` and
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
125 possibly ``NEWS`` again, to the **next** version. F.e. if the release candidate
126 was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless if we get
127 a new RC or not. This is to make sure ``version_compare()`` can correctly work.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
128
129 7. Commit those changes
130
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
131 8. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
132 branch if you're rolling 4.4.x releases).
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
133
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
134 9. You do not have to update the tree, but of course you can with "``cvs up -dP``".
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
135
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
136 10. run: ``./makedist php 4.4.1``, this will export the tree, create configure
137 and build two tarballs (one gz and one bz2).
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
138
139 11. Commit those two tarballs to CVS (phpweb/distributions)
140
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
141 12. Once the release has been tagged, contact the PHP Windows development team
142 (internals-win@lists.php.net) so that Windows binaries can be created. Once
143 those are made, they should be committed to CVS too.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
144
145 13. Check if the pear files are updated (phar for 5.1+ or run pear/make-pear-bundle.php with 4.4)
146
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
147 14. When making a final release, also remind the PHP Windows development team
148 (internals-win@lists.php.net) to prepare the installer packages for Win32.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
149
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
150 Getting the stable release announced
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
151 -----------------------------
152
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
153 1. Run the bumpRelease script for phpweb on your local checkout
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
154
155 a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
156
157 2. Edit ``phpweb/include/version.inc`` and change (X=major release number):
158
159 a. ``$PHP_X_VERSION`` to the correct version
160
161 b. ``$PHP_X_DATE`` to the release date
162
163 c. ``$PHP_X_MD5`` array and update all the md5 sums
164
165 d. set ``$PHP_X_RC`` to false!
166
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
167 e. Make sure there are no outdated "notes" or edited "date" keys in the
168 ``$RELEASES[X][$PHP_X_VERSION]["source"]`` array
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
169
170 f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
171
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
172 3. Update the ChangeLog file for the given major version
173 f.e. ``ChangeLog-4.php`` from the NEWS file
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
174
175 a. go over the list and put every element on one line
176
177 b. check for &, < and > and escape them if necessary
178
179 c. remove all the names at the ends of lines
180
181 d. for marking up, you can do the following (with VI):
182
183 I. ``s/^- /<li>/``
184
185 II. ``s/$/<\/li>/``
186
187 III. ``s/Fixed bug #\([0-9]\+\)/<?php bugfix(\1); ?>/``
188
189 4. ``cp releases/4_4_0.php releases/4_4_1.php``
190
191 5. ``cvs add releases/4_4_1.php``
192
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
193 6. Update the ``releases/*.php`` file with relevant data. The release
194 announcement file should list in detail:
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
195
196 a. security fixes,
197
7ca6f66 lets me all american :)
Lukas Smith authored
198 b. changes in behavior (whether due to a bug fix or not)
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
199
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
200 7. Add a short notice to phpweb stating that there is a new release, and
201 highlight the major important things (security fixes) and when it is important
202 to upgrade.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
203
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
204 a. Call php bin/createNewsEntry in your local phpweb checkout
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
205
f453f56 updated in regards to windows, added some clarifications and addition ti...
Lukas Smith authored
206 b. Add the content for the news entry
207
208 8. Commit all the changes.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
209
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
210 9. Wait an hour or two, then send a mail to php-announce@lists.php.net,
211 php-general@lists.php.net and internals@lists.php.net with a text similar to
212 http://news.php.net/php.internals/17222.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
213
89950cc link primary tester URLs and tried to limit lines to 80 chars
Lukas Smith authored
214 10. Update ``php-bugs-web/include/functions.php`` to include the new version
215 number, and remove the RC from there.
193b11c - port from todo wiki to reST (http://wiki.pooteeweet.org/ReleaseCheckli...
Lukas Smith authored
216
217 11. Update ``qaweb/include/release-qa.php``
218
219 a. Update the $BUILD_TEST_RELEASES array with the release name
220
221 b. Update $RELEASE_PROCESS array (set to false)
222
223 I. For PHP4: Set $CURRENT_QA_RELEASE_4 to false
224
225 II. For PHP5: Set $CURRENT_QA_RELEASE_5 to false
226
227 12. Rebuild the English and Japanese docs (ask Derick)
Something went wrong with that request. Please try again.