diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..6219f30 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,15 @@ +changelog: + categories: + - title: Breaking changes + labels: [breaking-change] + - title: Features + labels: [feature, enhancement] + - title: Fixes + labels: [fix, bug] + - title: Maintenance + labels: [chore, documentation, dependencies] + - title: Other changes + labels: ['*'] + exclude: + labels: [skip-changelog] + authors: [dependabot] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 476ca66..733d06e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,7 +69,8 @@ Releases are tagged from a clean, merged `main` commit: 1. Confirm `pyproject.toml` and `CITATION.cff` contain the intended version. 2. Run the validation commands above and confirm `main` is clean and current. 3. Create an annotated `vX.Y.Z` tag on the merged commit and push the tag. -4. Create a normal GitHub release with notes summarizing the relevant commits. +4. Create the GitHub release; the repository generates categorized notes from + merged pull requests and contributors. 5. Confirm the tag, release, and version metadata agree. The tag workflow reruns the release checks for every `v*.*.*` tag. diff --git a/README.md b/README.md index 9ec08f6..120c214 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ skill-discovery/ │ ├── config.yml # disables blank issues │ └── feature_request.yml # structured feature request form ├── dependabot.yml # weekly action version updates + ├── release.yml # generated release-note categories ├── workflows/ │ ├── ci.yml # validate + monitor jobs │ ├── dependabot-auto-merge.yml # auto-merge minor/patch dependabot PRs