From 854753d0d5ff91eff8cae07b90aabc0c4384d55a Mon Sep 17 00:00:00 2001 From: Jacob Tomlinson Date: Fri, 19 Apr 2024 15:18:36 +0100 Subject: [PATCH] Add Release Drafter config (#354) --- .github/release-drafter.yml | 23 +++++++++++++++++++ .github/workflows/release-drafter.yml | 24 +++++++++++++++++++ .github/workflows/release-publish.yml | 33 +++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/release-drafter.yml create mode 100644 .github/workflows/release-publish.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 00000000..3fb16653 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,23 @@ +# These will be overridden by the publish workflow and set to the new tag +name-template: "Next Release" +tag-template: "next" + +exclude-labels: + - kubectl-ng +categories: + - title: "Enhancements" + label: "enhancement" + - title: "Bug Fixes" + label: "bug" + - title: "Documentation" + label: "documentation" + - title: "Project Hygiene" + label: "ci" + +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. + +template: | + ## Changes + + $CHANGES diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 00000000..d549be92 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,24 @@ +name: Release Drafter + +on: + push: + branches: + - main + +permissions: + contents: read + +jobs: + if: github.repository == 'kr8s-org/kr8s' + update_release_draft: + permissions: + # Write permission is required to create a GitHub release + contents: write + pull-requests: read + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + with: + disable-autolabeler: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml new file mode 100644 index 00000000..dc53edc5 --- /dev/null +++ b/.github/workflows/release-publish.yml @@ -0,0 +1,33 @@ +name: Release Publisher + +on: + push: + tags: + - "v*.*.*" + +permissions: + contents: read + +jobs: + publish_release: + if: github.repository == 'kr8s-org/kr8s' + permissions: + # Write permission is required to publish a GitHub release + contents: write + pull-requests: read + runs-on: ubuntu-latest + steps: + - name: Set version env + # Use a little bit of bash to extract the tag name from the GitHub ref + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - uses: release-drafter/release-drafter@v5 + with: + disable-autolabeler: true + # Override the Release name/tag/version with the actual tag name + name: ${{ env.RELEASE_VERSION }} + tag: ${{ env.RELEASE_VERSION }} + version: ${{ env.RELEASE_VERSION }} + # Publish the Release + publish: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}