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.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
cmd/github-release-cli
pkg
vendor
.editorconfig
.gitignore
.travis.yml
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
_config.yml

README.md

🚢 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 < ./CHANGELOG.md) or $(cat ./CHANGELOG.md) 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

before_deploy:
- curl https://github.com/lindell/github-release-cli/releases/download/LATEST_RELEASE/github-releaser-travis -L --output github-releaser && chmod +x github-releaser
- export BODY=$(envsubst < ./CHANGELOG.md)
- export FILES=release-files/*
deploy:
  provider: script
  script: ./github-releaser -draft -verbose
  skip_cleanup: true
  on:
    tags: true
You can’t perform that action at this time.