diff --git a/.drone.jsonnet b/.drone.jsonnet index d544de18f..5822c011c 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -461,6 +461,8 @@ local nightly_pipeline = Pipeline('nightly', conformance_steps) + nightly_trigge local iso = Step('iso', depends_on=[e2e_docker, e2e_firecracker]); local boot = Step('boot', depends_on=[e2e_docker, e2e_firecracker]); +local release_notes = Step('release-notes', depends_on=[e2e_docker, e2e_firecracker]); + // TODO(andrewrynhard): We should run E2E tests on a release. local release = { name: 'release', @@ -468,6 +470,7 @@ local release = { settings: { api_key: { from_secret: 'github_token' }, draft: true, + note: '_out/RELEASE_NOTES.md', files: [ '_out/aws.tar.gz', '_out/azure.tar.gz', @@ -490,12 +493,13 @@ local release = { when: { event: ['tag'], }, - depends_on: [kernel.name, iso.name, boot.name, image_gcp.name, image_azure.name, image_aws.name, push.name] + depends_on: [kernel.name, iso.name, boot.name, image_gcp.name, image_azure.name, image_aws.name, push.name, release_notes.name] }; local release_steps = default_steps + [ iso, boot, + release_notes, release, ]; diff --git a/Makefile b/Makefile index 5c2f014d1..7501d6ee0 100644 --- a/Makefile +++ b/Makefile @@ -259,6 +259,10 @@ release-artifacts: conformance: ## Performs policy checks against the commit and source code. docker run --rm -it -v $(PWD):/src -w /src docker.io/autonomy/conform:v0.1.0-alpha.19 +.PHONY: release-notes +release-notes: + ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(TAG) + .PHONY: login login: ## Logs in to the configured container registry. ifeq ($(DOCKER_LOGIN_ENABLED), true) diff --git a/hack/release.sh b/hack/release.sh index 261506fb4..fd805db92 100755 --- a/hack/release.sh +++ b/hack/release.sh @@ -13,6 +13,10 @@ function changelog { fi } +function release-notes { + git-chglog --output ${1} -c ./hack/chglog/config.yml "${2}" +} + function cherry-pick { if [ $# -ne 2 ]; then echo 1>&2 "Usage: $0 cherry-pick "