Merge branch '5-setup-project-changelog' into 'main'

Resolve "Setup project changelog"

Closes #5

See merge request hectorjsmith/fail2ban-prometheus-exporter!6
This commit is contained in:
Hector 2021-02-07 11:20:56 +00:00
commit e94143e81c
5 changed files with 102 additions and 0 deletions

View file

@ -6,5 +6,21 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
## [Unreleased] ## [Unreleased]
### Added
- (6355c9e) feat: fail on startup if database file does not exist ([#8](https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/issues/8))
- (4f18bf3) feat: add cli parameters for db path and metrics port ([#4](https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/issues/4))
- (91cba80) feat: export number of banned ips
- (4b96501) feat: export bad ip count per jail
- (0b40e5d) feat: connect to fail2ban db and extract total bad ips
- (7ced846) feat: initial setup of metric exporter
## 0.0.0 - 2021-02-05
---
*This changelog is automatically generated by [git-chglog]*
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/ [Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: https://semver.org/spec/v2.0.0.html [Semantic Versioning]: https://semver.org/spec/v2.0.0.html
[git-chglog]: https://github.com/git-chglog/git-chglog
[Unreleased]: https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/compare/0.0.0...develop

View file

@ -14,6 +14,9 @@ format:
go fmt $(go list ./... | grep -v /vendor/) go fmt $(go list ./... | grep -v /vendor/)
go vet $(go list ./... | grep -v /vendor/) go vet $(go list ./... | grep -v /vendor/)
generateChangelog:
./tools/git-chglog_linux_amd64 --config tools/chglog/config.yml 0.0.0.. > CHANGELOG.md
build/snapshot: build/snapshot:
./tools/goreleaser_linux_amd64 --snapshot --rm-dist --skip-publish ./tools/goreleaser_linux_amd64 --snapshot --rm-dist --skip-publish

60
tools/chglog/CHANGELOG.tpl.md Executable file
View file

@ -0,0 +1,60 @@
# CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog], and this project adheres to [Semantic Versioning].
{{ if .Versions -}}
## [Unreleased]
{{- if .Unreleased.CommitGroups }}
{{ template "commits" .Unreleased.CommitGroups }}
{{- end -}}
{{- if .Unreleased.NoteGroups -}}
{{ template "notes" .Unreleased.NoteGroups }}
{{- end -}}
{{- end -}}
{{ range .Versions -}}
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
{{ template "commits" .CommitGroups }}
{{- if .NoteGroups -}}
{{ template "notes" .NoteGroups }}
{{- end -}}
{{ end }}
---
*This changelog is automatically generated by [git-chglog]*
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: https://semver.org/spec/v2.0.0.html
[git-chglog]: https://github.com/git-chglog/git-chglog
{{- if .Versions }}
[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...develop
{{ range .Versions -}}
{{ if .Tag.Previous -}}
[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
{{ end -}}
{{ end -}}
{{ end -}}
{{- define "notes" }}
{{- range . -}}
### {{ .Title }}
{{ range .Notes -}}
- {{ .Body }}
{{ end }}
{{ end }}
{{ end -}}
{{- define "commits" }}
{{- range . -}}
{{ if or (eq .RawTitle "feat") (eq .RawTitle "fix") }}
### {{ .Title }}
{{ range .Commits -}}
- ({{ .Hash.Short }}) {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Header }}
{{ end }}
{{ end -}}
{{ end -}}
{{ end -}}

23
tools/chglog/config.yml Executable file
View file

@ -0,0 +1,23 @@
style: gitlab
template: CHANGELOG.tpl.md
info:
title: CHANGELOG
repository_url: https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter
options:
commit_groups:
title_maps:
feat: Added
fix: Fixed
revert: Reverted
header:
pattern: "^(\\w*)\\:\\s(.*)$"
pattern_maps:
- Type
- Subject
notes:
keywords:
- BREAKING CHANGE
- Changed
- Deprecated
- Removed
- Security

BIN
tools/git-chglog_linux_amd64 Executable file

Binary file not shown.