Skip to content

Commit 9d5e43d

Browse files
authored
Merge pull request #244 from PHPCSStandards/feature/update-and-move-release-checklist
Move release-checklist to separate file & update it
2 parents 01a2600 + f86b3e9 commit 9d5e43d

File tree

2 files changed

+37
-32
lines changed

2 files changed

+37
-32
lines changed

.github/release-checklist.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Release checklist
2+
3+
### General
4+
5+
- [ ] Verify, and if necessary, update the allowed version ranges for various dependencies in the `composer.json` - PR #xxx
6+
7+
### Release Preparation
8+
9+
- [ ] Make sure all closed tickets and PRs have a label.
10+
- [ ] Make sure all closed tickets and PRs are added to the milestone that is to be released.
11+
- [ ] Add changelog for the release to the `CHANGELOG.md` file based on the tickets in the current milestone and submit as PR - PR #xxx
12+
- 💡 Keep in mind, changelogs are for humans, not for machines.
13+
- 📝 Remember to add a release diff link at the bottom!
14+
- 📝 Handy: use this checklist as the PR description to document the release.
15+
16+
### Milestone
17+
18+
- [ ] Close the milestone.
19+
- [ ] Open a new milestone for the next release.
20+
- [ ] If any open PRs/issues which were milestoned for this release did not make it into the release, update their milestone.
21+
22+
### Release
23+
24+
- [ ] Merge the changelog PR.
25+
- [ ] Make sure all CI builds are green.
26+
- [ ] Tag and create a release against the `main` branch and copy & paste the changelog to it.
27+
- 📝 Use the "Auto-generate changelog" button to get GitHub to create a "New contributors" section and the release diff link. Keep those, remove everything else auto-generated and replace it with the manually crafted changelog for humans.
28+
- 📝 Check if anything from the link collection at the bottom of the `changelog.md` file needs to be copied in!
29+
- [ ] Make sure all CI builds are green.
30+
31+
### Publicize
32+
33+
- [ ] Toot about the release.
34+
- [ ] Tweet about the release.

CONTRIBUTING.md

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -125,43 +125,14 @@ is written in. For details please consult the relevant tool's documentation.
125125

126126
## Release process
127127

128-
To make it possible to automatically generate a changelog, all tickets/issues must have a milestone and at least one label.
128+
See the [release checklist][release-checklist].
129129

130-
A changelog can be generated using the [`github-changelog-generator`][github-changelog-generator].[<sup>(1)</sup>](#footnotes)
130+
To facilitate the creation of release changelogs, all tickets/issues must have a milestone and at least one label.
131131

132-
Our release versions follow [Semantic Versioning][semver].
132+
[release-checklist]: https://github.com/PHPCSStandards/composer-installer/blob/main/.github/release-checklist.md
133133

134-
New releases (and any related tags) are always created from the `main` branch.
135-
136-
To create a new release:
137-
138-
1. Make sure all closed tickets and MRs have a label.
139-
140-
2. Make sure all closed tickets and MRs are added to the milestone that is to be released.
141-
142-
3. Move any open tickets to the next milestone (create a new one if needed).
143-
144-
4. Generate a changelog by running `github_changelog_generator` in the project root:[<sup>(2)</sup>](#footnotes)
145-
```
146-
github_changelog_generator --future-release "${sVersion}" --header --output --unreleased-only 2>/dev/null
147-
```
148-
Where `sVersion` contains the new version to release.
149-
150-
5. Use GitHub "Draft a new release" functionality to draft a new release (this also creates a tag).
151-
152-
6. Close the milestone for the version that was just released.
153134

154135
[github]: https://github.com/PHPCSStandards/composer-installer/issues
155136
[prs]: https://github.com/PHPCSStandards/composer-installer/pulls
156137
[GitHub Actions]: https://github.com/PHPCSStandards/composer-installer/actions
157138
[Pipeline-Component]: https://pipeline-components.dev/
158-
159-
## Footnotes
160-
161-
1. All settings needed for the changelog-generator are set in `.github_changelog_generator` file.
162-
163-
2. A convenience script is present at `bin/generate-changelog.sh` that will install the changelog-generator, if it is not present, and run the appropriate `github_changelog_generator` command.
164-
The script requires BASH to run. It should be run from the project root, similar to `github_changelog_generator`.
165-
166-
[github-changelog-generator]: https://github.com/github-changelog-generator/github-changelog-generator/
167-
[semver]: https://semver.org/

0 commit comments

Comments
 (0)