mirror of
https://github.com/msfjarvis/keep-a-changelog-new-release
synced 2025-11-05 18:08:00 +05:30
Automatically update your CHANGELOG.md for a new release
Flake lock file updates:
• Updated input 'flake-compat':
'github:nix-community/flake-compat/0f158086a2ecdbb138cd0429410e44994f1b7e4b?narHash=sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM%3D' (2025-05-02)
→ 'github:nix-community/flake-compat/4a56054d8ffc173222d09dad23adf4ba946c8884?narHash=sha256-AtrEP6Jmdvrqiv4x2xa5mrtaIp3OEe8uBYCDZDS%2Bhu8%3D' (2025-10-28)
• Updated input 'nixpkgs':
'github:msfjarvis/nixpkgs/d465173ec29bebe449f549197de8542bbd2e4ff8?narHash=sha256-ea0apopk9v4HoHwQkBCLTMWZZhbo7a%2BANRoiJbAZuPs%3D' (2025-10-26)
→ 'github:msfjarvis/nixpkgs/9bcb7062da7a6093ee880f93c876373de659fe9d?narHash=sha256-9/hQXd/is2UCgQIBMTuMCp9sfQ5ApHGnOa53aGEZCoE%3D' (2025-11-01)
|
||
|---|---|---|
| .githooks | ||
| .github | ||
| .vscode | ||
| __tests__ | ||
| dist | ||
| src | ||
| types | ||
| .envrc | ||
| .eslintignore | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| action.yml | ||
| CHANGELOG.md | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| jest.config.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| shell.nix | ||
| tsconfig.json | ||
| webpack.config.js | ||
| yarn.lock | ||
Keep A Changelog - New Release
This GitHub action will update your CHANGELOG.md for a new release:
- Changes the 'unreleased' section to the new version
- Updates the links to the tags at the end of the file
- Inserts a new 'unreleased' section at the top
Here is a diff from one of the test cases:
diff --git a/./__tests__/fixtures/standard/CHANGELOG.md b/./__tests__/fixtures/standard/CHANGELOG.expected.md
index bc86d0e..08101e3 100644
--- a/./__tests__/fixtures/standard/CHANGELOG.md
+++ b/./__tests__/fixtures/standard/CHANGELOG.expected.md
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [0.3.0] - 2019-12-06
+
### Changed
- Our main theme is now blue instead of red.
@@ -28,7 +30,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Initial release :tada:
-[Unreleased]: https://github.com/foo/bar/compare/0.2.0...HEAD
+[Unreleased]: https://github.com/foo/bar/compare/0.3.0...HEAD
+
+[0.3.0]: https://github.com/foo/bar/compare/0.2.0...0.3.0
[0.2.0]: https://github.com/foo/bar/compare/0.1.0...0.2.0
Usage
Within a workflow, you can use it like this:
name: "..."
on: ...
jobs:
update-changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Update changelog
uses: thomaseizinger/keep-a-changelog-new-release@v2
with:
tag: v0.6.0 # You probably want to have this dynamic :)
The action will do nothing else apart from modifying the changelog. It neither creates a commit, nor does it push anything to anywhere. You will have to do that as part of your workflow if you need this behaviour.
Checkout this blogpost or this repository for a set of workflows of an automated release using GitFlow and Github actions.