Skip to content

Commit bfb5d49

Browse files
authored
Categories for github auto-generated release notes (#917)
* configure categories for github auto-generated release notes * add configuration and deprecation categories to release.yml * mention PR labels in contributing file and highlight the importance of PR titles and labels * fix link in contributing file
1 parent ff41172 commit bfb5d49

2 files changed

Lines changed: 46 additions & 8 deletions

File tree

.github/release.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Configuration for auto-generated release notes
2+
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
3+
4+
changelog:
5+
categories:
6+
- title: Breaking changes
7+
labels:
8+
- breaking-change
9+
- title: Configuration changes
10+
labels:
11+
- configuration
12+
- title: Deprecations
13+
labels:
14+
- deprecation
15+
- title: New features
16+
labels:
17+
- feature
18+
- title: Bugfixes and other changes
19+
labels:
20+
- '*'
21+
exclude:
22+
labels:
23+
- breaking-change
24+
- configuration
25+
- deprecation
26+
- feature
27+
- dependencies
28+
- title: Dependency upgrades
29+
labels:
30+
- dependencies

CONTRIBUTING.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,23 @@ Note that there is still a `develop` branch, but that is legacy.
3030

3131
All significant contributions should be added via [pull requests] (PRs).
3232
This allows us to discuss and review the changes, and document design choices.
33-
Very minor changes, like fixing a typo in the readme or a comment, can sometimes be pushed directly onto master.
33+
It also ensures that the contribution is mentioned in the auto-generated change logs.
3434

35-
Pull request titles must be *concise* and *descriptive*.
36-
This enables auto-generation of meaningful change logs during the release process.
35+
A significant change is anything that is worth knowing about for developers or end users.
36+
Tiny changes that do not directly affect the inner workings of the application, like fixing some typos in the readme or a comment, can sometimes be pushed directly onto the `master` branch.
37+
Always ask yourself: Should this change appear in the change log?
38+
39+
## Pull request titles and labels are important
40+
41+
Pull requests form the basis for the change logs that are auto-generated during the release process.
42+
For this reason, PR titles must be *concise* and *descriptive*.
43+
When writing a PR title, remember that this title is the only thing users will see in the change log.
44+
Also note that change log entries are categorised based on their *labels*, as defined in [release.yml].
3745

3846
## Pull requests must be focused
3947

4048
Individual PRs *must* have a strong focus which is clear from the title.
41-
When writing the title, remember that it is the only thing users will see in the change log.
42-
PRs should also have a clear description and rationale, and should be linked to relevant issues, if any.
49+
PRs should also have a clear description and rationale and should be linked to relevant issues, if any.
4350

4451
If a PR gets very large, split it up into smaller PRs that can be reviewed separately.
4552

@@ -50,9 +57,9 @@ We prefer a squash merge for small PRs, resulting in a single commit.
5057
However, in some cases, it may be useful to keep the individual commits from the PR.
5158
In that case we use a merge commit (as in `--no-ff`).
5259

53-
## External dependencies are minimized
60+
## External dependencies are minimised
5461

55-
To reduce the maintenance burden, we aim to minimize the number of external dependencies.
62+
To reduce the maintenance burden, we aim to minimise the number of external dependencies.
5663
If external dependencies cannot be avoided, we prefer well-supported projects with large numbers of contributors.
5764

5865
## Semantic versioning applies to the API
@@ -66,7 +73,8 @@ For example, breaking changes in application *configuration* may occur in `minor
6673
[github flow]: https://githubflow.github.io/
6774
[issues]: https://github.com/FAIRDataTeam/FAIRDataPoint/issues
6875
[merge methods]: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github
69-
[pull requests]: https://github.com/FAIRDataTeam/FAIRDataPoint-client-redux/pulls
76+
[pull requests]: https://github.com/FAIRDataTeam/FAIRDataPoint/pulls
7077
[releases]: https://github.com/FAIRDataTeam/FAIRDataPoint/releases
78+
[release.yml]: .github/release.yml
7179
[semantic versioning]: https://semver.org
7280
[trunk-based development]: https://trunkbaseddevelopment.com/

0 commit comments

Comments
 (0)