Skip to content

Commit f19b9e1

Browse files
committed
RM docs: Update security release procedure
1 parent 61a190c commit f19b9e1

1 file changed

Lines changed: 27 additions & 13 deletions

File tree

docs/release-process.md

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ releases.
105105
* php-8.4.0 (initial GA)
106106
* php-8.4.9 (periodic bugfix or security release)
107107

108+
12. Ensure you are familiar with our procedure for [merging upwards][].
108109

109110
## Packaging a non-stable release (alpha/beta/RC)
110111

@@ -321,7 +322,7 @@ slightly different steps. We'll call attention where the steps differ.
321322
git add main/php_version.h Zend/zend.h configure.ac
322323
git merge --continue
323324
```
324-
325+
325326
Be sure to set up a merge driver for the `NEWS` file as described in
326327
the [Git FAQ page on the PHP wiki][gitfaq-mandatory].
327328
@@ -543,25 +544,38 @@ slightly different steps. We'll call attention where the steps differ.
543544
544545
## Packaging a stable release
545546
546-
1. Check out the *patch-level version branch* for the release
547-
(e.g., `PHP-8.1.7`).
547+
1. Check out the *patch-level version branch* for the release.
548+
549+
```
550+
git switch PHP-X.Y.Z
551+
```
548552
549553
> 💬 **Hint** \
550554
> You should have created this branch when packaging the non-stable release
551555
> candidate for this version. If it is for a PHP-X.Y.0 version, then the branch
552556
> was created as part of the final planned release candidate, PHP-X.Y.0RC4.
553557
554-
2. If a CVE commit needs to be merged to the release, have it committed to
555-
the base branches and [merged upwards as usual][] (e.g. commit the CVE fix
556-
to 7.2, merge to 7.3, 7.4, etc.). Then, you can cherry-pick it into the
557-
patch-level version branch for this release.
558+
2. If the upcoming release is a security release, you will have been informed
559+
about it by the security release manager (SRM) by Tuesday noon (UTC).
558560
559-
Commit these changes and push the patch-level version branch. Ensure
560-
that CI is still passing (see above).
561+
> 💬 **Hint** \
562+
> If you haven't set up a git remote for the security repo yet, do so:
563+
> ```bash
564+
> git remote add security git@github.com:php/php-src-security.git
565+
> ```
561566
562-
> 💡 **Tip** \
563-
> Don't forget to update `NEWS` manually in an extra commit to the
564-
> patch-level version branch.
567+
The SRM will provide you with a branch to merge in your
568+
*patch-level version branch*.
569+
570+
```bash
571+
git fetch security
572+
git merge security/PHP-X.Y.Z-security
573+
git push upstream PHP-X.Y.Z
574+
```
575+
576+
> 💬 **Hint** \
577+
> You do not need to merge this back into PHP-X.Y; the SRM will take care
578+
> of it.
565579
566580
3. Run the `./scripts/dev/credits` script in the patch-level version branch,
567581
and commit the changes in the credits files in `ext/standard`.
@@ -1182,7 +1196,7 @@ volunteers to begin the selection process for the next release managers.
11821196
[Update NEWS for PHP 8.2.0RC6]: https://github.com/php/php-src/commit/4ccc414961a70200d638ca281a35f893226d74e2
11831197
[PHP 8.3 is now for PHP 8.3.21-dev]: https://github.com/php/php-src/commit/b57f425cfe20a11003253427424cc0517483550b
11841198
[GitHub command line tool]: https://cli.github.com
1185-
[merged upwards as usual]: https://wiki.php.net/vcs/gitworkflow
1199+
[merging upwards]: https://wiki.php.net/vcs/gitworkflow
11861200
[Update versions for PHP 8.1.7]: https://github.com/php/php-src/commit/d35e577a1bd0b35b9386cea97cddc73fd98eed6d
11871201
[Update NEWS for PHP 8.1.7]: https://github.com/php/php-src/commit/b241f07f52ca9f87bf52be81817f475e6e727439
11881202
[Announce PHP 8.1.6]: https://github.com/php/web-php/commit/9f796a96c65f07e45845ec248933bfb0010b94a9

0 commit comments

Comments
 (0)