Skip to content

Commit 2f9900a

Browse files
committed
Merge branch '3.x' into 4.x
2 parents c66fd3c + 38efc5d commit 2f9900a

File tree

2 files changed

+47
-8
lines changed

2 files changed

+47
-8
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Checklists for branch management of majors
2+
3+
Note: these lists may be incomplete and should be regarded as a starting point to be updated/enhanced each time new insights present themselves.
4+
5+
6+
## Stop support for old major
7+
8+
- [ ] Remove "old major" from workflows in the **oldest major still supported**.
9+
I.e. when support for 3.x will be stopped, `3.x` should be removed from the workflows in the `4.x` branch (not from the 3.x branch).
10+
- [ ] Update target branch in the `.github/dependabot.yml` file in the **oldest major still supported** to be that oldest major.
11+
- [ ] Update target branch (`BASE`) in the `.github/workflows/happy-new-year.yml` file in the **oldest major still supported** to be that oldest major.
12+
13+
14+
## Start branch for next major
15+
16+
- [ ] Add "next major" to workflows in the **oldest major still supported**.
17+
I.e. when a new 5.x branch will be created while 3.x still has minimal support, this change should be made in the `3.x` branch (otherwise in the 4.x branch).
18+
- [ ] Create x.x branch.
19+
20+
In the new branch:
21+
- [ ] Change `Config::VERSION` to next major version number.
22+
- [ ] Change `Config::STABILITY` to `alpha`.
23+
- [ ] Create CHANGELOG-x.x.md file for the new major.
24+
- [ ] Add CHANGELOG for the _major before last_ to the `.gitattributes` `export-ignore`s.
25+
- [ ] Update branch references for the badges in the README.
26+
- [ ] Update installation instructions (`^4.0`) in the README.
27+
- [ ] Update branch reference/instructions in the issue and PR templates.
28+
- [ ] Update branch reference in the `bug_report.md` issue template.
29+
- [ ] Update branch reference in the `CONTRIBUTING` file ("Getting Started" section).
30+
=> For the previous four items, see 1433a86bd4bd3480048d485983e7f16f8e8ec981 as an example.
31+
- [ ] If the next major includes a PHP version drop, that should be the one of the first commits
32+
Example: a7a27b9413106cf4bf10514d6ce93658899ec279
33+
Also update relevant files from 19724954edc7997125040fbf84eddffca99d674f

.github/release-checklist.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
# Release checklist
22

3+
**Important**: If releases for multiple branches are to be tagged, always tag the 3.x release first, 4.x second etc!
4+
35
## Before Release
46

57
### General
68

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.
1012
- [ ] Verify that `@copyright` tags in new files use `@copyright 20xx PHPCSStandards and contributors`.
1113
- [ ] Check if the GPG key is still valid (not expired).
1214
If it has expired, create a new key before starting the release process.
@@ -27,13 +29,17 @@
2729
- [ ] Verify that any new sniffs which have `public` properties are listed on the Customizable Properties page in the Wiki.
2830
- [ ] Verify that any new CLI options are listed in the Wiki.
2931
- [ ] 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.
3034

3135
### Majors only
3236

33-
- [ ] Move old changelog entries to `CHANGELOG_OLD.md` file.
3437
- [ ] 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.
3743

3844
### Prepare changelog
3945

@@ -76,9 +82,9 @@ Please consider [funding the PHP_CodeSniffer project](https://opencollective.com
7682
## Release
7783

7884
- [ ] Merge the changelog PR.
79-
For now, cherrypick the changelog to the 4.0 branch.
8085
- [ ] Make sure all CI builds for the release branch are green.
8186
- [ ] Create a tag for the release & push it.
87+
- [ ] Merge any open PRs in the documentation repository which relate to the current release.
8288
- [ ] Make sure all CI builds are green.
8389
- [ ] Download the PHAR files from the GH Actions test build page.
8490
- [ ] Sign the PHAR files using:
@@ -110,7 +116,7 @@ Please consider [funding the PHP_CodeSniffer project](https://opencollective.com
110116
gh attestation verify phars/phpcbf-x.x.x.phar -o PHPCSStandards
111117
```
112118
- [ ] 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.
114120
- [ ] Create a release & copy & paste the changelog to it.
115121
- [ ] Upload the unversioned PHAR files + asc files to the release.
116122
- [ ] Announce the release in the discussions forum by checking the checkbox at the bottom of the release page.

0 commit comments

Comments
 (0)