github-release

Commandline app to create and edit releases on Github (and upload artifacts)

Github星跟蹤圖

github-release

A small commandline app written in Go that allows you to easily create
and delete releases of your projects on Github. In addition it allows
you to attach files to those releases.

It interacts with the github releases API.
Though it's entirely possibly to do all these things with
cURL
, It's not
really that user-friendly. For example, you need to first query the API
to find the id of the release you want, before you can upload an
artifact. github-release takes care of those little details.

It might still be a bit rough around the edges, pull requests are
welcome!

NOTE: I've been made aware of the existence of the
gothub fork. Since I have very little
time to work on the project and have been a really bad maintainer, I suggest
checking it out to see if your issues have been solved there.

How to install

If you don't have the Go toolset installed, and you don't want to, but
still want to use the app, you can download binaries for your platform
on the releases
page
. Yes, that's
dogfooding, check the makefile!

If you have Go installed, you can just do:

go get github.com/aktau/github-release

This will automatically download, compile and install the app.

After that you should have a github-release executable in your
$GOPATH/bin.

How to use

NOTE: for these examples I've created a github
token

and set it as the env variable GITHUB_TOKEN. github-release will
automatically pick it up from the environment so that you don't have to
pass it as an argument.

# set your token
export GITHUB_TOKEN=...

# check the help
$ github-release --help

# make your tag and upload
$ git tag ... && git push --tags

# check the current tags and existing releases of the repo
$ github-release info -u aktau -r gofinance
git tags:
- v0.1.0 (commit: https://api.github.com/repos/aktau/gofinance/commits/f562727ce83ce8971a8569a1879219e41d56a756)
releases:
- v0.1.0, name: 'hoary ungar', description: 'something something dark side 2', id: 166740, tagged: 29/01/2014 at 14:27, published: 30/01/2014 at 16:20, draft: ✔, prerelease: ✗
  - artifact: github.go, downloads: 0, state: uploaded, type: application/octet-stream, size: 1.9KB, id: 68616

# create a formal release
$ github-release release \
    --user aktau \
    --repo gofinance \
    --tag v0.1.0 \
    --name "the wolf of source street" \
    --description "Not a movie, contrary to popular opinion. Still, my first release!" \
    --pre-release

# you've made a mistake, but you can edit the release without
# having to delete it first (this also means you can edit without having
# to upload your files again)
$ github-release edit \
    --user aktau \
    --repo gofinance \
    --tag v0.1.0 \
    --name "Highlander II: The Quickening" \
    --description "This is the actual description!"

# upload a file, for example the OSX/AMD64 binary of my gofinance app
$ github-release upload \
    --user aktau \
    --repo gofinance \
    --tag v0.1.0 \
    --name "gofinance-osx-amd64" \
    --file bin/darwin/amd64/gofinance

# upload other files...
$ github-release upload ...

# you're not happy with it, so delete it
$ github-release delete \
    --user aktau \
    --repo gofinance \
    --tag v0.1.0

GitHub Enterprise Support

You can point to a different GitHub API endpoint via the environment variable GITHUB_API:

export GITHUB_API=http://github.company.com/api/v3

Used libraries
==============, Package, Description, License, ------------------------------------------------------------------------, -------------------, -------, github.com/dustin/go-humanize, humanize file sizes, MIT, github.com/tomnomnom/linkheader, GH API pagination, MIT, github.com/voxelbrain/goptions, option parsing, BSD, Todo

  • Check if an artifact is already uploaded before starting a new upload

Copyright

Copyright (c) 2014, Nicolas Hillegeer. All rights reserved.

主要指標

概覽
名稱與所有者Rhymond/go-money
主編程語言Go
編程語言Makefile (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2017-03-20 16:23:54
推送於2025-04-30 05:16:30
最后一次提交2024-11-14 16:54:11
發布數29
最新版本名稱v1.0.15 (發布於 )
第一版名稱v0.0.1 (發布於 )
用户参与
星數1.8k
關注者數19
派生數157
提交數195
已啟用問題?
問題數59
打開的問題數16
拉請求數62
打開的拉請求數8
關閉的拉請求數28
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?