From 88f1f050c390c71542c56f728aa32de114bfcb0a Mon Sep 17 00:00:00 2001 From: appleboy Date: Wed, 3 Apr 2024 20:08:31 +0800 Subject: [PATCH] refactor: refactor changelog generation and commit message grouping - Change the `changelog` generation implementation from `github` to `git` - Update the regex patterns for commit message grouping - Add new groups for `Refactor`, `Build process updates`, and `Documentation updates` Signed-off-by: appleboy --- .goreleaser.yaml | 54 ++++++++++++------------------------------------ 1 file changed, 13 insertions(+), 41 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 007c4db..02de88e 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -7,53 +7,25 @@ builds: skip: true changelog: - # Set it to true if you wish to skip the changelog generation. - # This may result in an empty release notes on GitHub/GitLab/Gitea. - skip: false - - # Changelog generation implementation to use. - # - # Valid options are: - # - `git`: uses `git log`; - # - `github`: uses the compare GitHub API, appending the author login to the changelog. - # - `gitlab`: uses the compare GitLab API, appending the author name and email to the changelog. - # - `github-native`: uses the GitHub release notes generation API, disables the groups feature. - # - # Defaults to `git`. - use: github - - # Sorts the changelog by the commit's messages. - # Could either be asc, desc or empty - # Default is empty - sort: asc - - # Group commits messages by given regex and title. - # Order value defines the order of the groups. - # Proving no regex means all commits will be grouped under the default group. - # Groups are disabled when using github-native, as it already groups things by itself. - # - # Default is no groups. + use: git groups: - title: Features - regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$' + regexp: "^.*feat[(\\w)]*:+.*$" order: 0 - title: "Bug fixes" - regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$' + regexp: "^.*fix[(\\w)]*:+.*$" order: 1 - - title: "Refactor" - regexp: '^.*?refactor(\([[:word:]]+\))??!?:.+$' - order: 2 - title: "Enhancements" - regexp: '^.*?chore(\([[:word:]]+\))??!?:.+$' + regexp: "^.*chore[(\\w)]*:+.*$" order: 2 + - title: "Refactor" + regexp: "^.*refactor[(\\w)]*:+.*$" + order: 3 + - title: "Build process updates" + regexp: ^.*?(build|ci)(\(.+\))??!?:.+$ + order: 4 + - title: "Documentation updates" + regexp: ^.*?docs?(\(.+\))??!?:.+$ + order: 4 - title: Others order: 999 - - filters: - # Commit messages matching the regexp listed here will be removed from - # the changelog - # Default is empty - exclude: - - "^docs" - - "CICD" - - typo