Publish beautiful GitHub releases with "keep a changelog".
This tool was made to simplify creating beatiful releases on GitHub for projects following the "Keep A Changelog" specification to write their Changelogs.
It aims to make it easy and convenient to publish the relevant Changelog section as the release description and to attach the related assets.
Here is an example:
The installer uses Fetch, a tool to simplify downloading assets from a GitHub release. You must install it first in order to be able to run the installer:
./extras/fetch-installer.sh
Verify the installation by running fetch --version
.
Once you Fetch is installed, you can install
keeparelease
, either by running the installer from this repository:
./extras/keeparelease-installer.sh
Or by running the it directly from GitHub:
bash <(curl -sSfL https://raw.githubusercontent.com/rgreinho/keeparelease/master/extras/keeparelease-installer.sh)
Verify the installation by running keeparelease --version
.
By default it downloads the latest version available. If you want to download a specific
version, set the $VERSION
environment variable:
VERSION=1.2.0 ./extras/keeparelease-installer.sh
Thfollowing commands will help you download the latest binary available to your platform:
REPO=rgreinho/keeparelease
VERSION=$(git ls-remote --tags --refs --sort="v:refname" git://github.com/${REPO}.git | tail -n1 | sed 's/.*\///')
PLATFORM=$(uname -s | tr '[:upper:]' '[:lower:]')
curl -LO https://github.com/${REPO}/releases/download/${VERSION}/keeparelease-${VERSION}-${PLATFORM}-amd64
After that, you should add the executable permissions (usually using chmod +x
),
and move the binary to the location of your choice (usually in your path, for instance
/usr/local/bin
).
Simply download the binary for your platform from the release page.
Same as above, set the appropriate permission, and move the binary to the location of your choice.
Creating a release and attaching all binaries:
keeparelease \
-a keeparelease-1.1.1-darwin-amd64 \
-a keeparelease-1.1.1-linux-amd64 \
-a keeparelease-1.1.1-windows-amd64
Print the changelog for the latest release:
keeparelease -x
Set the log level on the CLI:
keeparelease -l debug
Set the log level with environment variables:
export KAR_LOG_LEVEL=DEBUG
keearelease