Skip to content
This is a tool to make github releases, including files and complex bodies. It is primarily intended to be used with travis.
Go Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

🚢 github-release-cli

Github release CLI is a tool primarily created to circumvent the Travis issue that doesn't allow complex bodies to be used in releases.

🔧 Usage

The github-travis-releaser takes enviroment variables from travis and parses them so that you don't have to.

The only variables you need to take into concideration are:

Name Optional Description
GITHUB_OAUTH_TOKEN NO The oath token from github, needed to get the access to create the release
BODY YES The body of the release, can be markdown. It's recomended to use $(envsubst < ./ or $(cat ./ for longer bodies
FILES YES The path to the file(s) that should be uploaded. Wildcards can be used (e.g. release-files/*)
RELEASE_NAME YES The name (title) of the release. If nothing is set, it will be the same as the tag name

Command line flags:

Name Description
-draft Set the release as a draft
-prerelease Set if the the release is identified as non-production ready
-verbose Print logging statements

Example .travis.yml

- curl -L --output github-releaser && chmod +x github-releaser
- export BODY=$(envsubst < ./
- export FILES=release-files/*
  provider: script
  script: ./github-releaser -draft -verbose
  skip_cleanup: true
    tags: true
You can’t perform that action at this time.