Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DEV] Automate CHANGELOG.md creation using git-chglog #45

Merged
merged 5 commits into from
Oct 21, 2021

Conversation

treee111
Copy link
Owner

@treee111 treee111 commented Oct 19, 2021

This PR…

  • introduces git-chglog to automatically create the entries in the CHANGELOG.md file based on the merge-commits of the squashed pull requests.
  • introduces a Pre-Releasegit-release github-actions workflow

closes #36

Todo

  • check, how the github-action git-release behaves in combination with this change and how the CHANGELOG.md and release-CHANGELOG can be of the same style
    • had to remove the leading "v" from the tag in the ##-headlines: [v0.10.0-pre3] becomes [0.10.0-pre3]
    • needed changes are also in this PR
    • the Release is created like before, just with other groups. Thats because the groups changed from manual to automatic CHANGELOG.md creation.

Considerations and implementations

For a commit to appear in the CHANGELOG.md, it has to follow a certain naming pattern:
[type] ...(#PR-number)

possible types:

  • FEATURE
  • FIX
  • PERF
  • BREAKING

example: [FEATURE] Add check for required input parameter for CLI and GUI (#41)

After installing git-chglog locally, the CHANGELOG.md can be generated with this command:
git-chglog -o CHANGELOG.md
To generate the CHANGELOG for a upcoming release (no tag exists yet), the following command can be used:
git-chglog -o CHANGELOG.md --next-tag v0.10.0

The already existing CHANGELOG entries were copied to the template so that they get included in the generated CHANGELOG.md even if the commits are not following the naming pattern.

How to test

see upper chapter

Optional

Unit-Test(s) added

Having this section helps reminds developers to always add tests, or explain themselves if they can’t!

Screenshots

Having this section makes visual changes immediately obvious, and means visual bugs can often be identified instantly. Also, the screenshots are useful for non-devs preparing content for sprint review, or signing off work.

It’s worth mentioning that in less visual projects, this section could be called “Changes” and contain logs / process flows / etc. This section sometimes contains screenshots of Charles network requests or LogCat messages as well as normal screenshots.

@treee111 treee111 self-assigned this Oct 19, 2021
@treee111 treee111 force-pushed the git-changelog branch 2 times, most recently from 256eb7a to 9631fcf Compare October 19, 2021 20:58
@treee111 treee111 changed the title Automate CHANGELOG creation using git-chglog [FEATURE] Automate CHANGELOG.md creation using git-chglog Oct 19, 2021
@treee111 treee111 force-pushed the git-changelog branch 4 times, most recently from f4c589c to 5b63a48 Compare October 21, 2021 09:42
@treee111 treee111 marked this pull request as ready for review October 21, 2021 11:11
- ignore tags v0.1.0 - v0.9.0 (manually created CHANGELOG)
- insert these manual created CHANGELOG entries in template
- created CHANGELOG.md with command "git-chglog -o CHANGELOG.md"
- git-release.yml for "final" versions e.g. v0.10.0
- git-release-pre.yml -pre* version tags e.g. v0.10.0-pre1
- new: DEV / Development/Infrastructure/Test/CI
- removed: PERF / Performance Improvements
@treee111 treee111 changed the title [FEATURE] Automate CHANGELOG.md creation using git-chglog [DEV] Automate CHANGELOG.md creation using git-chglog Oct 21, 2021
@treee111 treee111 merged commit 23b8927 into develop Oct 21, 2021
@treee111 treee111 deleted the git-changelog branch October 21, 2021 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

automatically create CHANGELOG
1 participant