LetItGo
![Coffee](https://img.shields.io/badge/%E2%98%95%EF%B8%8F-Buy%20me%20a%20coffee-blue?style=flat-square&color=blueviolet)
LetItGo simplifies automated releases. A simple definition in .release.yml
in
the root of your project is all you need.
Check out the docs for full documentation.
Install
Homebrew
brew install NoUseFreak/brew/letitgo
letitgo --version
Gofish
gofish install letitgo
letitgo --version
CLI
curl -sL http://bit.ly/gh-get | PROJECT=NoUseFreak/letitgo bash
letitgo --version
Docker
docker run -v $(pwd):/app nousefreak/letitgo --version
Whalebrew
whalebrew install nousefreak/letitgo
Anywhere
curl -sL http://bit.ly/gh-get | BIN_DIR=/tmp/bin PROJECT=NoUseFreak/letitgo bash
/tmp/bin/letitgo --version
Usage
The most common use case would be to provide a .release.yml
file in the root
of your project, and let letitgo
do it's thing.
$ letitgo
Init
You can use letitgo init
to help you generate your .release.yml
file.
It will go through all available actions and provide you with an example for
each of the actions.
Actions
Actions as as the name explains, actions that letitgo need to execute when
the release process is triggered.
Action |
Description |
archive |
Create archives of files. |
changelog |
Generate a changelog and commit it to your project. |
docker |
Builds, tags and pushes docker images. |
githubrelease |
Publish generated artifacts and attach them to a github release. |
gofish |
Creates a PR to update the gofish fish-food. |
helm |
Package and/or publish helm charts to a registry like chartmuseum. |
homebrew |
Update your personal homebrew tap with your latest config. |
slack |
Send message to slack to mark a complete release. |
snapcraft |
Package and upload your snap to snapcraft. |
All actions and example configuration can be found in the docs directory.
Example
The following is an example config used to release this project.
letitgo:
name: letitgo
description: LetItGo automates releases.
actions:
- type: changelog
- type: githubrelease
assets:
- ./build/pkg/*
- type: homebrew
homepage: https://github.com/NoUseFreak/letitgo
url: https://github.com/NoUseFreak/letitgo/releases/download/{{ .Version }}/darwin_amd64.zip
tap:
url: git@github.com:NoUseFreak/homebrew-brew.git
test: system "#{bin}/{{ .Name }} -h"