|
1 | 1 | # Release checklist |
2 | 2 |
|
| 3 | +**Important**: If releases for multiple branches are to be tagged, always tag the 3.x release first, 4.x second etc! |
| 4 | + |
3 | 5 | ## Before Release |
4 | 6 |
|
5 | 7 | ### General |
6 | 8 |
|
7 | | -- [ ] Verify, and if necessary, update the version constraints for dependencies in the `composer.json` - PR #xxx |
8 | | -- [ ] Verify that any new functions have type declarations (ClassName/array/callable) whenever possible. |
9 | | -- [ ] Verify that the license tags all refer to the _new_ organisation and no longer to Squizlabs. (easily overlooked in new files) |
| 9 | +- [ ] Verify, and if necessary, update the version constraints for dependencies in the `composer.json`. |
| 10 | +- [ ] Verify that any new functions have type declarations whenever possible. |
| 11 | +- [ ] Verify that the license tags all refer to the _new_ organisation and no longer to Squizlabs. |
10 | 12 | - [ ] Verify that `@copyright` tags in new files use `@copyright 20xx PHPCSStandards and contributors`. |
11 | 13 | - [ ] Check if the GPG key is still valid (not expired). |
12 | 14 | If it has expired, create a new key before starting the release process. |
|
27 | 29 | - [ ] Verify that any new sniffs which have `public` properties are listed on the Customizable Properties page in the Wiki. |
28 | 30 | - [ ] Verify that any new CLI options are listed in the Wiki. |
29 | 31 | - [ ] Verify that any new Reports have a section in the Reports page in the Wiki. |
| 32 | +- [ ] Whenever relevant, but definitely for a new major, update the output examples which cannot currently be automatically updated. |
| 33 | + Search for "Regenerate the below output snippet by running the following command" comments to find the relevant sections in the wiki. |
30 | 34 |
|
31 | 35 | ### Majors only |
32 | 36 |
|
33 | | -- [ ] Move old changelog entries to `CHANGELOG_OLD.md` file. |
34 | 37 | - [ ] Verify that everything deprecated during the previous major was removed. |
35 | | -- [ ] Update the wiki for any references to anything deprecated/removed. |
36 | | -- [ ] Change `Config::STABILITY` from "dev" to "stable" for the branch for the new major. - PR #xxx |
| 38 | +- Submit PRs to the documentation repository to update the wiki/website: |
| 39 | + - [ ] Remove notes from the wiki which refer to features removed in the _previous_ major. |
| 40 | + I.e. When releasing 4.0, notes about features removed/changed in or before 3.0 can be removed. |
| 41 | + - [ ] Update sections related to anything deprecated/removed features to mention the deprecation/removal. |
| 42 | +- [ ] Change `Config::STABILITY` from "dev" to "stable" for the branch for the new major. |
37 | 43 |
|
38 | 44 | ### Prepare changelog |
39 | 45 |
|
@@ -76,9 +82,9 @@ Please consider [funding the PHP_CodeSniffer project](https://opencollective.com |
76 | 82 | ## Release |
77 | 83 |
|
78 | 84 | - [ ] Merge the changelog PR. |
79 | | - For now, cherrypick the changelog to the 4.0 branch. |
80 | 85 | - [ ] Make sure all CI builds for the release branch are green. |
81 | 86 | - [ ] Create a tag for the release & push it. |
| 87 | +- [ ] Merge any open PRs in the documentation repository which relate to the current release. |
82 | 88 | - [ ] Make sure all CI builds are green. |
83 | 89 | - [ ] Download the PHAR files from the GH Actions test build page. |
84 | 90 | - [ ] Sign the PHAR files using: |
@@ -110,7 +116,7 @@ Please consider [funding the PHP_CodeSniffer project](https://opencollective.com |
110 | 116 | gh attestation verify phars/phpcbf-x.x.x.phar -o PHPCSStandards |
111 | 117 | ``` |
112 | 118 | - [ ] Commit & push the changes. |
113 | | - - [ ] Verify that the website regenerated correctly and that the phars can be downloaded. |
| 119 | + - [ ] Verify that the [website](https://phars.phpcodesniffer.com/) regenerated correctly. |
114 | 120 | - [ ] Create a release & copy & paste the changelog to it. |
115 | 121 | - [ ] Upload the unversioned PHAR files + asc files to the release. |
116 | 122 | - [ ] Announce the release in the discussions forum by checking the checkbox at the bottom of the release page. |
|
0 commit comments