From e4d973ef81b3053f31bed03d03764307f657a234 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Thu, 7 Dec 2023 11:38:36 +0100 Subject: [PATCH] ci: use git-sv to generate changelog (#65) --- .chglog/CHANGELOG.tpl.md | 23 ----------------- .chglog/config.yml | 25 ------------------- .gitsv/config.yml | 47 +++++++++++++++++++++++++++++++++++ .woodpecker/build-package.yml | 20 ++++++--------- 4 files changed, 55 insertions(+), 60 deletions(-) delete mode 100755 .chglog/CHANGELOG.tpl.md delete mode 100755 .chglog/config.yml create mode 100644 .gitsv/config.yml diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md deleted file mode 100755 index b79faa8..0000000 --- a/.chglog/CHANGELOG.tpl.md +++ /dev/null @@ -1,23 +0,0 @@ -# Changelog - -{{ range .Versions -}} -## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }}) - -{{ range .CommitGroups -}} -### {{ .Title }} - -{{ range .Commits -}} -- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ (regexReplaceAll "(.*)/issues/(.*)" (regexReplaceAll "(Co-\\w*-by.*)" .Subject "") "${1}/pull/${2}") | trim }} -{{ end }} -{{- end -}} - -{{- if .NoteGroups -}} -{{ range .NoteGroups -}} -### {{ .Title }} - -{{ range .Notes }} -{{ .Body }} -{{ end }} -{{ end -}} -{{ end -}} -{{ end -}} diff --git a/.chglog/config.yml b/.chglog/config.yml deleted file mode 100755 index d855113..0000000 --- a/.chglog/config.yml +++ /dev/null @@ -1,25 +0,0 @@ -style: github -template: CHANGELOG.tpl.md -info: - title: CHANGELOG - repository_url: https://github.com/thegeeklab/wait-for -options: - commit_groups: - title_maps: - feat: Features - fix: Bug Fixes - perf: Performance Improvements - refactor: Code Refactoring - chore: Others - test: Testing - ci: CI Pipeline - docs: Documentation - header: - pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$" - pattern_maps: - - Type - - Scope - - Subject - notes: - keywords: - - BREAKING CHANGE diff --git a/.gitsv/config.yml b/.gitsv/config.yml new file mode 100644 index 0000000..7b9cae5 --- /dev/null +++ b/.gitsv/config.yml @@ -0,0 +1,47 @@ +--- +version: "1.1" + +versioning: + update-major: [] + update-minor: [feat] + update-patch: [fix, perf, refactor, chore, test, ci, docs] + +tag: + pattern: "v%d.%d.%d" + +release-notes: + sections: + - name: Features + commit-types: [feat] + section-type: commits + - name: Bug Fixes + commit-types: [fix] + section-type: commits + - name: Performance Improvements + commit-types: [perf] + section-type: commits + - name: Code Refactoring + commit-types: [refactor] + section-type: commits + - name: Others + commit-types: [chore] + section-type: commits + - name: Testing + commit-types: [test] + section-type: commits + - name: CI Pipeline + commit-types: [ci] + section-type: commits + - name: Documentation + commit-types: [docs] + section-type: commits + - name: Breaking Changes + section-type: breaking-changes + +commit-message: + footer: + issue: + key: issue + add-value-prefix: "#" + issue: + regex: "#?[0-9]+" diff --git a/.woodpecker/build-package.yml b/.woodpecker/build-package.yml index 7f8e2a5..8247d32 100644 --- a/.woodpecker/build-package.yml +++ b/.woodpecker/build-package.yml @@ -7,21 +7,17 @@ when: steps: checksum: - image: docker.io/alpine + image: quay.io/thegeeklab/alpine-tools commands: - sha256sum wait-for > sha256sum.txt - changelog-generate: - image: quay.io/thegeeklab/git-chglog - commands: - - git fetch -tq - - git-chglog --no-color --no-emoji -o CHANGELOG.md ${CI_COMMIT_TAG:---next-tag unreleased unreleased} - - changelog-format: - image: quay.io/thegeeklab/alpine-tools + changelog: + image: quay.io/thegeeklab/git-sv commands: - - prettier CHANGELOG.md - - prettier -w CHANGELOG.md + - git fetch --depth=2147483647 + - git sv current-version + - git sv release-notes -t ${CI_COMMIT_TAG:-next} -o CHANGELOG.md + - cat CHANGELOG.md publish-github: image: docker.io/plugins/github-release @@ -35,7 +31,7 @@ steps: overwrite: true title: ${CI_COMMIT_TAG} when: - - event: [tag] + - event: [tag] depends_on: - test