From 5731704239a9eaa437e0c3ab2f0ac4d5ef3565de Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 17 May 2023 13:49:42 -0700 Subject: [PATCH] internal: Release note generation automation --- .github/release-drafter.yml | 2 +- .github/release.yml | 31 +++++++++++++++++++++++++++ .github/workflows/release-drafter.yml | 10 +++------ .github/workflows/release-note.yml | 18 ++++++++++++++++ 4 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 .github/release.yml create mode 100644 .github/workflows/release-note.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 86a39768..a145dbfe 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -43,7 +43,7 @@ autolabeler: - '*.md' - label: 'feature' title: - - '/(support|add)/i' + - '/(support|feature)/i' - label: 'bug' title: - '/fix/i' diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 00000000..973c3db6 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,31 @@ +changelog: + categories: + - title: '🔥 Breaking Changes' + labels: + - 'breaking' + - title: '👋 Deprecated' + labels: + - 'deprecation' + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'bug' + - title: '🔗 Dependency Updates' + labels: + - 'library-update' + - 'dependencies' + - title: '🛠 Internal Updates' + labels: + - 'internal' + - 'kaizen' + - 'test-library-update' + - 'sbt-plugin-update' + - title: '📚 Docs' + labels: + - 'doc' + - title: Other Changes + labels: + - "*" diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 7daff30e..517735bb 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -1,9 +1,6 @@ name: Release Drafter on: - push: - branches: - - master # pull_request event is required only for autolabeler pull_request: # Only following types are handled by the action, but one can default to all as well @@ -16,16 +13,15 @@ permissions: contents: read jobs: - update_release_draft: + update_PR_labels: permissions: - # write permission is required to create a github release - contents: write + contents: read # write permission is required for autolabeler # otherwise, read permission is required at least pull-requests: write runs-on: ubuntu-latest steps: - # Drafts your next Release notes as Pull Requests are merged into "master" + # Runs only pull-request labeler - uses: release-drafter/release-drafter@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-note.yml b/.github/workflows/release-note.yml new file mode 100644 index 00000000..ac290e4c --- /dev/null +++ b/.github/workflows/release-note.yml @@ -0,0 +1,18 @@ +name: Release Note + +on: + push: + tags: + - v* + workflow_dispatch: + +jobs: + release: + name: Create a new release note + runs-on: ubuntu-latest + steps: + - name: Create a release note + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "$GITHUB_REF_NAME" --repo="$GITHUB_REPOSITORY" --generate-notes