Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ldez/gcg
GCG is a GitHub Changelog Generator.
https://github.com/ldez/gcg
changelog generator github
Last synced: 3 days ago
JSON representation
GCG is a GitHub Changelog Generator.
- Host: GitHub
- URL: https://github.com/ldez/gcg
- Owner: ldez
- License: apache-2.0
- Created: 2017-05-20T14:56:09.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T12:13:12.000Z (11 days ago)
- Last Synced: 2024-10-25T12:20:41.159Z (10 days ago)
- Topics: changelog, generator, github
- Language: Go
- Homepage:
- Size: 153 KB
- Stars: 14
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.adoc
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
= GCG - GitHub Changelog Generator
image:https://img.shields.io/github/release/ldez/gcg.svg?style=flat["release", link="https://github.com/ldez/gcg/releases"]
image:https://github.com/ldez/gcg/workflows/Main/badge.svg?branch=master["Build Status", link="https://github.com/ldez/gcg/actions"]
image:https://goreportcard.com/badge/github.com/ldez/prm["Go Report Card", link="https://goreportcard.com/report/github.com/ldez/prm"]
image:https://img.shields.io/badge/Sponsor%20me-%E2%9D%A4%EF%B8%8F-pink["Sponsor", link="https://github.com/sponsors/ldez"]image::https://cloud.githubusercontent.com/assets/5674651/26468714/b7a3ce64-4197-11e7-8b2e-51a13cfe504a.png[GCG]
[source, yaml]
----
GCG is a GitHub Changelog Generator.
The generator use only Pull Requests.Usage: gcg [flags] []
Use "gcg --help" for help on any command.
Commands:
version Display the version.Flag's usage: gcg [--flag=flag_argument] [-f[flag_argument]] ... set flag_argument to flag(s)
or: gcg [--flag[=true|false| ]] [-f[true|false| ]] ... set true/false to boolean flag(s)Flags:
-b, --base-branch Base branch name. PR branch destination. (default "master")
--bug-label Bug Label. (default "bug")
--config-file A configuration file. [optional]
-c, --current-ref Current commit reference. Can be a tag, a branch, a SHA.
--debug Debug mode. (default "false")
--display-label Display labels (default "true")
--dl-options Label display options. (default "true")
--dl-options.prefix-exclude Excluded label prefixes.
--dl-options.prefix-filter Included label prefixes.
--dl-options.prefix-trim Trim label with the following prefixes.
--dl-options.suffix-exclude Excluded label suffixes.
--dl-options.suffix-filter Included label suffixes.
--doc-label Documentation Label. (default "documentation")
--enhancement-label Enhancement Label. (default "enhancement")
--exclude-label Label to exclude.
--file-name Name of the changelog file. (default "CHANGELOG.md")
-f, --future-ref-name The future name of the current reference.
--output-type Output destination type. (file|Stdout) (default "file")
-o, --owner Repository owner.
-p, --previous-ref Previous commit reference. Can be a tag, a branch, a SHA.
-r, --repo-name Repository name.
--th-after Threshold in seconds after the current ref date. (default "5")
--th-before Threshold in seconds after the previous ref date. (default "1")
--tmpl-file A template file. [optional]
-t, --token GitHub Token. [optional]
-h, --help Print Help (this message) and exit
----== How to Install
|===
| OS | | Command| Linux
| image:https://img.shields.io/aur/version/gcg.svg?style=flat["ArchLinux (AUR)", link="https://aur.archlinux.org/packages/gcg"]
a|
[source]
----
yay -S gcg
----| MacOS
| image:https://img.shields.io/github/release/ldez/gcg.svg?label=Homebrew%20Taps&style=flat["Homebrew Taps", link="https://github.com/ldez/homebrew-tap"]
a|
[source,bash]
----
brew tap ldez/tap
brew update
brew install gcg
----| Windows
| image:https://img.shields.io/github/release/ldez/gcg.svg?label=Scoop%20Bucket&style=flat["Scoop Bucket", link="https://github.com/ldez/scoop-bucket"]
a|
[source,bash]
----
scoop bucket add ldez https://github.com/ldez/scoop-bucket.git
scoop install gcg
----| all
| image:https://img.shields.io/github/release/ldez/gcg.svg?label=Binaries&style=flat["Binaries", link="https://github.com/ldez/gcg/releases"]
a|
* To get the binary just download the latest release for your OS/Arch from https://github.com/ldez/gcg/releases[the releases page]
* Unzip the archive.
* Add `gcg` in your `PATH`.| all
| https://github.com/ldez/gcg[Sources]
a|
[source,bash]
----
go get -u github.com/ldez/gcg
----|===
== Examples
[source,bash]
----
gcg -p"v1.2.0-rc1" -c"v1.3.0-rc1" -o"containous" -r"traefik" -t"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
----=== Next major release (RC1 on master)
ex: for the (non-existing) next version 1.4.0-rc1
[source,mermaid]
----
gitGraph:
commit id:"a"
commit id:"b" tag:"v1.3.0-rc1" type:HIGHLIGHT
commit id:"c"
commit id:"d"
commit id:"e" tag:"HEAD" type:HIGHLIGHT
----[source,bash]
----
gcg -b"master" -p"v1.3.0-rc1" -c"master" -f"v1.4.0-rc1" \
-o"containous" -r"traefik" -t"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--debug
----=== Next RC release (RC2 on a specific branch)
ex: for the (non-existing) version 1.3.0-rc2
[source,mermaid]
----
gitGraph:
commit id:"a"
commit id:"b" tag:"v1.3.0-rc1" type:HIGHLIGHT
branch v1.3
checkout main
commit id:"c"
checkout v1.3
commit id:"d"
commit id:"e"tag:"HEAD" type:HIGHLIGHT
checkout main
commit id:"f"
commit id:"g"
----[source, bash]
----
gcg -b"v1.3" -p"v1.3.0-rc1" -c"v1.3" -f"v1.3.0-rc2" \
-o"containous" -r"traefik" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--debug
----=== Previous major release (Pre RC1)
ex: for the (existing) version 1.3.0-rc1
[source,mermaid]
----
gitGraph:
commit id:"a"
commit id:"b" tag:"v1.2.0-rc1" type:HIGHLIGHT
branch v1.2
commit id:"c"
commit id:"d" tag:"v1.2.0"
commit id:"e"
commit id:"f" tag:"v1.2.1"
checkout main
commit id:"g"
merge v1.2
commit id:"h"
commit id:"i" tag:"v1.3.0-rc1" type:HIGHLIGHT
branch v1.3
commit id:"j"
commit id:"k"
checkout main
commit id:"l"
commit id:"m"
----[source, bash]
----
gcg -b"master" -p"v1.2.0-rc1" -c"v1.3.0-rc1" \
-o"containous" -r"traefik" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--debug
----=== Previous RC release (between RC1 and RC2)
ex: for the (existing) version 1.3.0-rc2
[source,mermaid]
----
gitGraph:
commit id:"a"
commit id:"b" tag:"v1.3.0-rc1" type:HIGHLIGHT
branch v1.3
commit id:"c"
commit id:"d" tag:"v1.3.0-rc2" type:HIGHLIGHT
commit id:"e"
commit id:"f"
checkout main
commit id:"g"
commit id:"h"
----[source, bash]
----
gcg -b"v1.3" -p"v1.3.0-rc1" -c"v1.3.0-rc2" \
-o"containous" -r"traefik" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--debug
----=== Filtered Labels
[source, bash]
----
gcg -b"v1.3" -p"v1.3.0-rc1" -c"v1.3" -f"v1.3.0" \
-o"containous" -r"traefik" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--dl-options.prefix-filter="area/,platform/" \
--dl-options.suffix-exclude="documentation" \
--dl-options.prefix-trim="area/provider/,area/middleware/,area/,platform/" \
--debug
----[source, bash]
----
gcg \
--base-branch="v1.3" --previous-ref="v1.3.0-rc1" \
--current-ref="v1.3" --future-ref-name="v1.3.0" \
--owner="containous" --repo-name="traefik" \
--exclude-label="area/infrastructure" \
--enhancement-label="kind/enhancement" --doc-label="area/documentation" --bug-label="kind/bug/fix" \
--dl-options.prefix-filter="area/,platform/" \
--dl-options.suffix-exclude="documentation" \
--dl-options.prefix-trim="area/provider/,area/middleware/,area/,platform/" \
--debug
----