From 62348f059f18d7450b8b369d0f91b498e31b84bb Mon Sep 17 00:00:00 2001 From: Yidi Date: Sat, 5 Oct 2024 16:34:04 -0400 Subject: [PATCH] refactor(workflow): update release workflow to enhance automation Replaced the old release workflow with a new setup using Release Drafter. This refactor allows for more detailed release notes by categorizing changes and automatically generating release drafts. The new workflow triggers on semantic version tags and improves permissions management. This change enhances the release process by providing better documentation and automation. --- .github/release-drafter.yml | 20 ++++++++++++++++++ .github/workflows/create-release.yml | 31 ++++++++++++++++++++++++++++ .github/workflows/release-on-tag.yml | 23 --------------------- 3 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/create-release.yml delete mode 100644 .github/workflows/release-on-tag.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 00000000..3d7182ec --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,20 @@ +name-template: 'v Release $NEXT_PATCH_VERSION 🌈' +tag-template: 'v$NEXT_PATCH_VERSION' +categories: + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'fix' + - 'bugfix' + - 'bug' + - title: '🧰 Maintenance' + label: 'chore' +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +change-title-escapes: '\<*_&' +template: | + ## Changes + + $CHANGES \ No newline at end of file diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 00000000..b75fb58a --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,31 @@ +name: Create Release + +on: + push: + tags: + - 'v*.*.*' + +permissions: + contents: write + pull-requests: read + +jobs: + create_release: + name: Create Release + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Generate Release Notes and Publish + id: generate_release_notes + uses: release-drafter/release-drafter@v6 + with: + config-name: 'release-drafter.yml' + name: "Release ${{ github.ref_name }}" + tag: ${{ github.ref_name }} + publish: true + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-on-tag.yml b/.github/workflows/release-on-tag.yml deleted file mode 100644 index 3868a8f5..00000000 --- a/.github/workflows/release-on-tag.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Create Release on Tag - -on: - push: - tags: - - '*' - -jobs: - create_release: - runs-on: ubuntu-latest - - steps: - - name: Create Release - uses: actions/create-release@v1 - with: - tag_name: ${{ github.ref_name }} - release_name: ${{ github.ref_name }} - body: | - Release ${{ github.ref_name }} of GORM. - draft: false - prerelease: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}