Skip to content
/ ghr Public
forked from tcnksm/ghr

Easily ship your project to your user using Github Releases

License

Notifications You must be signed in to change notification settings

hfm/ghr

Repository files navigation

ghr Build Status Coverage Status MIT License

Easily ship your project to your user using Github Releases

Description

ghr enable you to create Release on Github and upload your artifacts to it. ghr will parallelize upload multiple artifacts.

Demo

Result is here.

Usage

Run it in your project directory:

$ ghr [option] <tag> <artifacts>

You need to set GITHUB_TOKEN environmental variable:

$ export GITHUB_TOKEN="....."

Example

To upload all package in pkg directory with tag v0.1.0

$ ghr v0.1.0 pkg/
--> Uploading: pkg/0.1.0_SHASUMS
--> Uploading: pkg/ghr_0.1.0_darwin_386.zip
--> Uploading: pkg/ghr_0.1.0_darwin_amd64.zip
--> Uploading: pkg/ghr_0.1.0_linux_386.zip
--> Uploading: pkg/ghr_0.1.0_linux_amd64.zip
--> Uploading: pkg/ghr_0.1.0_windows_386.zip
--> Uploading: pkg/ghr_0.1.0_windows_amd64.zip

Options

You can set some options:

$ ghr \
    -t <token> \       # Set Github API Token
    -u <username> \    # Set Github username
    -r <repository> \  # Set repository name
    -p <num> \         # Set amount of parallelism (Default is number of CPU)
    --draft \          # Release as draft (Unpublish)
    --prerelease \     # Crate prerelease
    <tag> <artifacts>

Install

If you are OSX user, you can use Homebrew:

$ brew tap tcnksm/ghr
$ brew install ghr

If you are in another platform, you can install it with curl:

$ L=/usr/local/bin/ghr && curl -sL -A "`uname -sp`"  http://ghr.herokuapp.com/ghr.zip | zcat >$L && chmod +x $L

You can also download binary from relase page and place it in $PATH directory.

VS.

  • aktau/github-release - github-release can also create and edit releases and upload artifacts. It has many options. ghr is a simple alternative. And ghr will parallelize upload artifacts.

Contribution

  1. Fork (https://github.com/tcnksm/ghr/fork)
  2. Create a feature branch
  3. Commit your changes
  4. Rebase your local changes against the master branch
  5. Run test suite with the make test command and confirm that it passes
  6. Run gofmt -s
  7. Create new Pull Request

You can get source with go get:

$ go get -d github.com/tcnksm/ghr
$ cd $GOPATH/src/github.com/tcnksm/cli-init
$ make install

Author

tcnksm

About

Easily ship your project to your user using Github Releases

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.2%
  • Shell 3.8%
  • Makefile 1.0%