diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a908648a44..cc41860190 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,5 +9,5 @@ Fixes #(issue) # Please indicate you've done the following: - [ ] [Accepted the DCO](https://velero.io/docs/v1.5/code-standards/#dco-sign-off). Commits without the DCO will delay acceptance. -- [ ] [Created a changelog file](https://velero.io/docs/v1.5/code-standards/#adding-a-changelog) or added `/kind changelog-not-required` as a comment on this pull request. +- [ ] [Created a changelog file (`make new-changelog`)](https://velero.io/docs/main/code-standards/#adding-a-changelog) or comment `/kind changelog-not-required` on this PR. - [ ] Updated the corresponding documentation in `site/content/docs/main`. diff --git a/Makefile b/Makefile index 8950bbc1b2..401ee47d0c 100644 --- a/Makefile +++ b/Makefile @@ -377,4 +377,22 @@ test-perf: local $(MAKE) -e VERSION=$(VERSION) -C test/ run-perf go-generate: - go generate ./pkg/... \ No newline at end of file + go generate ./pkg/... + +# requires an authenticated gh cli +# gh: https://cli.github.com/ +# First create a PR +# gh pr create --title 'Title name' --body 'PR body' +# by default uses PR title as changelog body but can be overwritten like so +# make new-changelog CHANGELOG_BODY="Changes you have made" +new-changelog: GH_LOGIN ?= $(shell gh pr view --json author --jq .author.login 2> /dev/null) +new-changelog: GH_PR_NUMBER ?= $(shell gh pr view --json number --jq .number 2> /dev/null) +new-changelog: CHANGELOG_BODY ?= "$(shell gh pr view --json title --jq .title)" +new-changelog: + @if [ "$(GH_LOGIN)" = "" ]; then \ + echo "branch does not have PR or cli not logged in, try 'gh auth login' or 'gh pr create'"; \ + exit 1; \ + fi + @mkdir -p ./changelogs/unreleased/ && \ + echo $(CHANGELOG_BODY) > ./changelogs/unreleased/$(GH_PR_NUMBER)-$(GH_LOGIN) && \ + echo "\"$(CHANGELOG_BODY)\" added to ./changelogs/unreleased/$(GH_PR_NUMBER)-$(GH_LOGIN)" diff --git a/site/content/docs/main/code-standards.md b/site/content/docs/main/code-standards.md index 36984612f7..a8edd49ffe 100644 --- a/site/content/docs/main/code-standards.md +++ b/site/content/docs/main/code-standards.md @@ -38,6 +38,8 @@ changelog. Add that to the PR. +A command to do this is `make new-changelog CHANGELOG_BODY="Changes you have made"` + If a PR does not warrant a changelog, the CI check for a changelog can be skipped by applying a `changelog-not-required` label on the PR. If you are making a PR on a release branch, you should still make a new file in the `changelogs/unreleased` folder on the release branch for your change. ## Copyright header