Skip to content
LetItGo simplifies automated releases
Go Shell Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
cmd/letitgo
docs
internal/app
scripts
test
website
.gitattributes
.gitignore
.release.yml
.travis.yml
CHANGELOG.md
Dockerfile
LICENSE
Makefile
README.md
go.mod
go.sum
main.go

README.md

LetItGo

Build status Release Report Maintained Docker Cloud Build Status Website License Coffee

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

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"
You can’t perform that action at this time.