com web/qa: Better structure the QA releases in a nice table on the main page, this includes a few things in particular that Release Managers should
note:: include/release-qa.php index.php
| From: | Kalle Sommer Nielsen | Date: | Sun, 02 Oct 2016 01:52:07 +0000 |
| Subject: | com web/qa: Better structure the QA releases in a nice table on the main page, this includes a few things in particular that Release Managers should note:: include/release-qa.php index.php |
||
| Groups: | php.qa | ||
| Request: | Send a blank email to php-qa+get-67821@lists.php.net to get a copy of this message | ||
Commit: 31fec37786afb1cb72bb45b7df22fc0dd807a9fb
Author: Kalle Sommer Nielsen <kalle@php.net> Sun, 2 Oct 2016 03:52:07 +0200
Parents: 5daf8b8af1a46baf2403d802d8bd88794052e02e
Branches: master
Link: http://git.php.net/?p=web/qa.git;a=commitdiff;h=31fec37786afb1cb72bb45b7df22fc0dd807a9fb
Log:
Better structure the QA releases in a nice table on the main page, this includes a few things in
particular that Release Managers should note:
- New checksum algorithms can now be shown on the main page, by default md5 will continue as well
as the newly added sha256
- This means some small structural changes to $QA_RELEASES, but nothing major and everything is
documented inline
- This also removes the inactive branches (5.3, 5.4 & 5.5) as well as master
Changed paths:
M include/release-qa.php
M index.php
diff --git a/include/release-qa.php b/include/release-qa.php index 35d5e57..b9a0489 100644 --- a/include/release-qa.php +++ b/include/release-qa.php @@ -21,8 +21,10 @@ Documentation: - version: 0 if no such release exists, otherwise an integer of the rc/alpha/beta number - md5_bz2: md5 checksum of this downloadable .tar.bz2 file - md5_gz: md5 checksum of this downloadable .tar.gz file + - md5_xz: md5 checksum of this downloadble .xz file - date: date of release e.g., 21 May 2011 - baseurl: base url of where these downloads are located + - Multiple checksums can be available, see the $QA_CHECKSUM_TYPES array below Other variables within $QA_RELEASES are later defined including: - reported: versions that make it to the qa.reports mailing list - release: all current qa releases, including paths to dl urls (w/ md5 info) @@ -41,79 +43,70 @@ TODO: */ $QA_RELEASES = array( - - '5.3.30' => array( - 'active' => false - ), - - '5.4.45' => array( - 'active' => false, - 'release' => array( - 'type' => 'RC', - 'number' => 0, - 'md5_bz2' => '', - 'md5_gz' => '', - 'date' => '04 Aug 2014', - 'baseurl' => 'http://downloads.php.net/stas/', - ), - ), - - '5.5.38' => array( - 'active' => false, - 'release' => array( - 'type' => 'RC', - 'number' => 0, - 'md5_bz2' => '', - 'md5_gz' => '', - 'md5_xz' => '', - 'date' => '25 Jun 2015', - 'baseurl' => 'http://downloads.php.net/jpauli/', - ), - ), - '5.6.27' => array( 'active' => true, 'release' => array( - 'type' => 'RC', - 'number' => 1, - 'md5_bz2' => '61bed3ec3361272492bd45779d2d381e', - 'md5_gz' => '25bf2732bbe87cacc5d2c9640f2d04bb', - 'md5_xz' => '66f6fec4eed3c1d866476f1a60ff6001', - 'date' => '29 Sep 2016', - 'baseurl' => 'http://downloads.php.net/tyrael/', + 'type' => 'RC', + 'number' => 1, + 'md5_bz2' => '61bed3ec3361272492bd45779d2d381e', + 'md5_gz' => '25bf2732bbe87cacc5d2c9640f2d04bb', + 'md5_xz' => '66f6fec4eed3c1d866476f1a60ff6001', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 Sep 2016', + 'baseurl' => 'http://downloads.php.net/tyrael/', ), ), '7.0.12' => array( 'active' => true, 'release' => array( - 'type' => 'RC', - 'number' => 1, - 'md5_bz2' => 'ea455c49e21b091375b7ab11d6cdcdc8', - 'md5_gz' => '307a21764ff62a8fb24285d096dd68c8', - 'md5_xz' => '6c4470fa3f6364b586ea87f5ef7856a1', - 'date' => '29 September 2016', - 'baseurl' => 'http://downloads.php.net/ab/', + 'type' => 'RC', + 'number' => 1, + 'md5_bz2' => 'ea455c49e21b091375b7ab11d6cdcdc8', + 'md5_gz' => '307a21764ff62a8fb24285d096dd68c8', + 'md5_xz' => '6c4470fa3f6364b586ea87f5ef7856a1', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 September 2016', + 'baseurl' => 'http://downloads.php.net/ab/', ), ), '7.1.0' => array( 'active' => true, - 'release' => array( - 'type' => 'RC', - 'number' => 3, - 'md5_bz2' => 'b3550496e58a67cac813c8c2e498ff99', - 'md5_gz' => '5a9dab8563062512acb3d2c159938d99', - 'md5_xz' => '2bfa0ad51de4fce87d0175d655f6bf69', - 'date' => '29 September 2016', - 'baseurl' => 'http://downloads.php.net/~davey/', + 'release' => array( + 'type' => 'RC', + 'number' => 3, + 'md5_bz2' => 'b3550496e58a67cac813c8c2e498ff99', + 'md5_gz' => '5a9dab8563062512acb3d2c159938d99', + 'md5_xz' => '2bfa0ad51de4fce87d0175d655f6bf69', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 September 2016', + 'baseurl' => 'http://downloads.php.net/~davey/', ), - ), - - 'master' => array( - 'active' => false, - ), + ) ); + +// This is a list of the possible checksum values that can be supplied with a QA release. Any +// new algorithm is read from the $QA_RELEASES array under the 'release' index for each version +// in the form of "$algorithm_$filetype". +// +// For example, if SHA256 were to be supported, the following indices would have to be added: +// +// 'sha256_bz2' => 'xxx', +// 'sha256_gz' => 'xxx', +// 'sha256_xz' => 'xxx', + +$QA_CHECKSUM_TYPES = Array( + 'md5', + 'sha256' + ); + /*** End Configuration *******************************************************************/ // $QA_RELEASES eventually contains just about everything, also for external use @@ -141,13 +134,21 @@ foreach ($QA_RELEASES as $pversion => $info) { $QA_RELEASES[$pversion]['release']['version'] = $pversion . $info['release']['type'] . $info['release']['number']; $QA_RELEASES[$pversion]['release']['files']['bz2']['path']= $info['release']['baseurl'] . $fn_base . '.tar.bz2'; - $QA_RELEASES[$pversion]['release']['files']['bz2']['md5'] = $info['release']['md5_bz2']; $QA_RELEASES[$pversion]['release']['files']['gz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.gz'; - $QA_RELEASES[$pversion]['release']['files']['gz']['md5'] = $info['release']['md5_gz']; - if (!empty($info['release']['md5_xz'])) { - $QA_RELEASES[$pversion]['release']['files']['xz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.xz'; - $QA_RELEASES[$pversion]['release']['files']['xz']['md5'] = $info['release']['md5_xz']; + foreach($QA_CHECKSUM_TYPES as $algo) + { + $QA_RELEASES[$pversion]['release']['files']['bz2'][$algo] = $info['release'][$algo . '_bz2']; + $QA_RELEASES[$pversion]['release']['files']['gz'][$algo] = $info['release'][$algo . '_gz']; + + if (!empty($info['release'][$algo . '_xz'])) { + if(!isset($QA_RELEASES[$pversion]['release']['files']['xz'])) + { + $QA_RELEASES[$pversion]['release']['files']['xz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.xz'; + } + + $QA_RELEASES[$pversion]['release']['files']['xz'][$algo] = $info['release'][$algo . '_xz']; + } } } } else { @@ -160,7 +161,6 @@ foreach ($QA_RELEASES as $pversion => $info) { // @todo need these? // $QA_RELEASES['releases'] : All current versions with active qa releases foreach ($QA_RELEASES as $pversion => $info) { - if (isset($info['active']) && $info['active'] && !empty($info['release']['number'])) { $QA_RELEASES['releases'][$pversion] = $info['release']; } @@ -168,7 +168,9 @@ foreach ($QA_RELEASES as $pversion => $info) { /* Content */ function show_release_qa($QA_RELEASES) { - + // The checksum configuration array + global $QA_CHECKSUM_TYPES; + echo "<!-- RELEASE QA -->\n"; if (!empty($QA_RELEASES['releases'])) { @@ -177,21 +179,45 @@ function show_release_qa($QA_RELEASES) { // QA Releases echo "<span class='lihack'>\n"; - echo "Providing QA for the following <a href='/rc.php'>test release{$plural}</a>:\n"; - echo "<ul>\n"; + echo "Providing QA for the following <a href='/rc.php'>test release{$plural}</a>:<br> <br>\n"; + echo "</span>\n"; + echo "<table>\n"; // @todo check for vars, like if md5_* are set foreach ($QA_RELEASES['releases'] as $pversion => $info) { - // pure madness - echo "<li>{$info['version']}: [<a href='{$info['files']['bz2']['path']}'>tar.bz2</a>] (md5 checksum: {$info['files']['bz2']['md5']})</li>\n"; - echo "<li>{$info['version']}: [<a href='{$info['files']['gz']['path']}'>tar.gz</a>] (md5 checksum: {$info['files']['gz']['md5']})</li>\n"; - if (isset($info['files']['xz'])) { - echo "<li>{$info['version']}: [<a href='{$info['files']['xz']['path']}'>tar.xz</a>] (md5 checksum: {$info['files']['xz']['md5']})</li>\n"; + echo "<tr>\n"; + echo "<td colspan=\"" . (sizeof($QA_CHECKSUM_TYPES) + 1) . "\">\n"; + echo "<h3 style=\"margin: 0px;\">{$info['version']}</h3>\n"; + echo "</td>\n"; + echo "</tr>\n"; + + foreach (Array('bz2', 'gz', 'xz') as $file_type) { + if (!isset($info['files'][$file_type])) { + continue; + } + + echo "<tr>\n"; + echo "<td width=\"20%\"><a href=\"{$info['files'][$file_type]['path']}\">php-{$info['version']}.tar.{$file_type}</a></td>\n"; + + foreach ($QA_CHECKSUM_TYPES as $algo) { + echo '<td>'; + echo '<strong>' . strtoupper($algo) . ':</strong> '; + + if (isset($info['files'][$file_type][$algo]) && !empty($info['files'][$file_type][$algo])) { + echo $info['files'][$file_type][$algo]; + } else { + echo '(<em><small>No checksum value available</small></em>) '; + } + + echo "</td>\n"; + } + + echo "</tr>\n"; } } - - echo "</ul>\n</span>\n"; + + echo "</table>\n"; } echo "<!-- END -->\n"; diff --git a/index.php b/index.php index 518e8ad..695b343 100644 --- a/index.php +++ b/index.php @@ -25,20 +25,20 @@ common_header(); </li> </ul> - <h3>The team is currently focused on:</h3> - <ul> - - <li> + <h3>Available QA Releases:</h3> <?php show_release_qa($QA_RELEASES); ?> - - See <a href="http://windows.php.net/qa/">here</a> for the Windows QA builds and - <a href="http://windows.php.net/snaps/">here</a> for the Windows Snapshot builds. - </li> - </ul> - <p> - If you would like to contribute to these efforts, please - visit our <a href="howtohelp.php">How To Help</a> page. - </p> + <p> + <br> + <strong>Windows users:</strong> + See <a href="http://windows.php.net/qa/">here</a> for the Windows QA builds and + <a href="http://windows.php.net/snaps/">here</a> for the Windows Snapshot builds. + </p> + + <h3>How To Help</h3> + <p> + If you would like to contribute to these efforts, please + visit our <a href="howtohelp.php">How To Help</a> page. + </p> <?php common_footer();
diff --git a/include/release-qa.php b/include/release-qa.php index 35d5e57..b9a0489 100644 --- a/include/release-qa.php +++ b/include/release-qa.php @@ -21,8 +21,10 @@ Documentation: - version: 0 if no such release exists, otherwise an integer of the rc/alpha/beta number - md5_bz2: md5 checksum of this downloadable .tar.bz2 file - md5_gz: md5 checksum of this downloadable .tar.gz file + - md5_xz: md5 checksum of this downloadble .xz file - date: date of release e.g., 21 May 2011 - baseurl: base url of where these downloads are located + - Multiple checksums can be available, see the $QA_CHECKSUM_TYPES array below Other variables within $QA_RELEASES are later defined including: - reported: versions that make it to the qa.reports mailing list - release: all current qa releases, including paths to dl urls (w/ md5 info) @@ -41,79 +43,70 @@ TODO: */ $QA_RELEASES = array( - - '5.3.30' => array( - 'active' => false - ), - - '5.4.45' => array( - 'active' => false, - 'release' => array( - 'type' => 'RC', - 'number' => 0, - 'md5_bz2' => '', - 'md5_gz' => '', - 'date' => '04 Aug 2014', - 'baseurl' => 'http://downloads.php.net/stas/', - ), - ), - - '5.5.38' => array( - 'active' => false, - 'release' => array( - 'type' => 'RC', - 'number' => 0, - 'md5_bz2' => '', - 'md5_gz' => '', - 'md5_xz' => '', - 'date' => '25 Jun 2015', - 'baseurl' => 'http://downloads.php.net/jpauli/', - ), - ), - '5.6.27' => array( 'active' => true, 'release' => array( - 'type' => 'RC', - 'number' => 1, - 'md5_bz2' => '61bed3ec3361272492bd45779d2d381e', - 'md5_gz' => '25bf2732bbe87cacc5d2c9640f2d04bb', - 'md5_xz' => '66f6fec4eed3c1d866476f1a60ff6001', - 'date' => '29 Sep 2016', - 'baseurl' => 'http://downloads.php.net/tyrael/', + 'type' => 'RC', + 'number' => 1, + 'md5_bz2' => '61bed3ec3361272492bd45779d2d381e', + 'md5_gz' => '25bf2732bbe87cacc5d2c9640f2d04bb', + 'md5_xz' => '66f6fec4eed3c1d866476f1a60ff6001', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 Sep 2016', + 'baseurl' => 'http://downloads.php.net/tyrael/', ), ), '7.0.12' => array( 'active' => true, 'release' => array( - 'type' => 'RC', - 'number' => 1, - 'md5_bz2' => 'ea455c49e21b091375b7ab11d6cdcdc8', - 'md5_gz' => '307a21764ff62a8fb24285d096dd68c8', - 'md5_xz' => '6c4470fa3f6364b586ea87f5ef7856a1', - 'date' => '29 September 2016', - 'baseurl' => 'http://downloads.php.net/ab/', + 'type' => 'RC', + 'number' => 1, + 'md5_bz2' => 'ea455c49e21b091375b7ab11d6cdcdc8', + 'md5_gz' => '307a21764ff62a8fb24285d096dd68c8', + 'md5_xz' => '6c4470fa3f6364b586ea87f5ef7856a1', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 September 2016', + 'baseurl' => 'http://downloads.php.net/ab/', ), ), '7.1.0' => array( 'active' => true, - 'release' => array( - 'type' => 'RC', - 'number' => 3, - 'md5_bz2' => 'b3550496e58a67cac813c8c2e498ff99', - 'md5_gz' => '5a9dab8563062512acb3d2c159938d99', - 'md5_xz' => '2bfa0ad51de4fce87d0175d655f6bf69', - 'date' => '29 September 2016', - 'baseurl' => 'http://downloads.php.net/~davey/', + 'release' => array( + 'type' => 'RC', + 'number' => 3, + 'md5_bz2' => 'b3550496e58a67cac813c8c2e498ff99', + 'md5_gz' => '5a9dab8563062512acb3d2c159938d99', + 'md5_xz' => '2bfa0ad51de4fce87d0175d655f6bf69', + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', + 'date' => '29 September 2016', + 'baseurl' => 'http://downloads.php.net/~davey/', ), - ), - - 'master' => array( - 'active' => false, - ), + ) ); + +// This is a list of the possible checksum values that can be supplied with a QA release. Any +// new algorithm is read from the $QA_RELEASES array under the 'release' index for each version +// in the form of "$algorithm_$filetype". +// +// For example, if SHA256 were to be supported, the following indices would have to be added: +// +// 'sha256_bz2' => 'xxx', +// 'sha256_gz' => 'xxx', +// 'sha256_xz' => 'xxx', + +$QA_CHECKSUM_TYPES = Array( + 'md5', + 'sha256' + ); + /*** End Configuration *******************************************************************/ // $QA_RELEASES eventually contains just about everything, also for external use @@ -141,13 +134,21 @@ foreach ($QA_RELEASES as $pversion => $info) { $QA_RELEASES[$pversion]['release']['version'] = $pversion . $info['release']['type'] . $info['release']['number']; $QA_RELEASES[$pversion]['release']['files']['bz2']['path']= $info['release']['baseurl'] . $fn_base . '.tar.bz2'; - $QA_RELEASES[$pversion]['release']['files']['bz2']['md5'] = $info['release']['md5_bz2']; $QA_RELEASES[$pversion]['release']['files']['gz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.gz'; - $QA_RELEASES[$pversion]['release']['files']['gz']['md5'] = $info['release']['md5_gz']; - if (!empty($info['release']['md5_xz'])) { - $QA_RELEASES[$pversion]['release']['files']['xz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.xz'; - $QA_RELEASES[$pversion]['release']['files']['xz']['md5'] = $info['release']['md5_xz']; + foreach($QA_CHECKSUM_TYPES as $algo) + { + $QA_RELEASES[$pversion]['release']['files']['bz2'][$algo] = $info['release'][$algo . '_bz2']; + $QA_RELEASES[$pversion]['release']['files']['gz'][$algo] = $info['release'][$algo . '_gz']; + + if (!empty($info['release'][$algo . '_xz'])) { + if(!isset($QA_RELEASES[$pversion]['release']['files']['xz'])) + { + $QA_RELEASES[$pversion]['release']['files']['xz']['path'] = $info['release']['baseurl'] . $fn_base . '.tar.xz'; + } + + $QA_RELEASES[$pversion]['release']['files']['xz'][$algo] = $info['release'][$algo . '_xz']; + } } } } else { @@ -160,7 +161,6 @@ foreach ($QA_RELEASES as $pversion => $info) { // @todo need these? // $QA_RELEASES['releases'] : All current versions with active qa releases foreach ($QA_RELEASES as $pversion => $info) { - if (isset($info['active']) && $info['active'] && !empty($info['release']['number'])) { $QA_RELEASES['releases'][$pversion] = $info['release']; } @@ -168,7 +168,9 @@ foreach ($QA_RELEASES as $pversion => $info) { /* Content */ function show_release_qa($QA_RELEASES) { - + // The checksum configuration array + global $QA_CHECKSUM_TYPES; + echo "<!-- RELEASE QA -->\n"; if (!empty($QA_RELEASES['releases'])) { @@ -177,21 +179,45 @@ function show_release_qa($QA_RELEASES) { // QA Releases echo "<span class='lihack'>\n"; - echo "Providing QA for the following <a href='/rc.php'>test release{$plural}</a>:\n"; - echo "<ul>\n"; + echo "Providing QA for the following <a href='/rc.php'>test release{$plural}</a>:<br> <br>\n"; + echo "</span>\n"; + echo "<table>\n"; // @todo check for vars, like if md5_* are set foreach ($QA_RELEASES['releases'] as $pversion => $info) { - // pure madness - echo "<li>{$info['version']}: [<a href='{$info['files']['bz2']['path']}'>tar.bz2</a>] (md5 checksum: {$info['files']['bz2']['md5']})</li>\n"; - echo "<li>{$info['version']}: [<a href='{$info['files']['gz']['path']}'>tar.gz</a>] (md5 checksum: {$info['files']['gz']['md5']})</li>\n"; - if (isset($info['files']['xz'])) { - echo "<li>{$info['version']}: [<a href='{$info['files']['xz']['path']}'>tar.xz</a>] (md5 checksum: {$info['files']['xz']['md5']})</li>\n"; + echo "<tr>\n"; + echo "<td colspan=\"" . (sizeof($QA_CHECKSUM_TYPES) + 1) . "\">\n"; + echo "<h3 style=\"margin: 0px;\">{$info['version']}</h3>\n"; + echo "</td>\n"; + echo "</tr>\n"; + + foreach (Array('bz2', 'gz', 'xz') as $file_type) { + if (!isset($info['files'][$file_type])) { + continue; + } + + echo "<tr>\n"; + echo "<td width=\"20%\"><a href=\"{$info['files'][$file_type]['path']}\">php-{$info['version']}.tar.{$file_type}</a></td>\n"; + + foreach ($QA_CHECKSUM_TYPES as $algo) { + echo '<td>'; + echo '<strong>' . strtoupper($algo) . ':</strong> '; + + if (isset($info['files'][$file_type][$algo]) && !empty($info['files'][$file_type][$algo])) { + echo $info['files'][$file_type][$algo]; + } else { + echo '(<em><small>No checksum value available</small></em>) '; + } + + echo "</td>\n"; + } + + echo "</tr>\n"; } } - - echo "</ul>\n</span>\n"; + + echo "</table>\n"; } echo "<!-- END -->\n"; diff --git a/index.php b/index.php index 518e8ad..695b343 100644 --- a/index.php +++ b/index.php @@ -25,20 +25,20 @@ common_header(); </li> </ul> - <h3>The team is currently focused on:</h3> - <ul> - - <li> + <h3>Available QA Releases:</h3> <?php show_release_qa($QA_RELEASES); ?> - - See <a href="http://windows.php.net/qa/">here</a> for the Windows QA builds and - <a href="http://windows.php.net/snaps/">here</a> for the Windows Snapshot builds. - </li> - </ul> - <p> - If you would like to contribute to these efforts, please - visit our <a href="howtohelp.php">How To Help</a> page. - </p> + <p> + <br> + <strong>Windows users:</strong> + See <a href="http://windows.php.net/qa/">here</a> for the Windows QA builds and + <a href="http://windows.php.net/snaps/">here</a> for the Windows Snapshot builds. + </p> + + <h3>How To Help</h3> + <p> + If you would like to contribute to these efforts, please + visit our <a href="howtohelp.php">How To Help</a> page. + </p> <?php common_footer();