ghrelease – a GitHub release helper
- Author:
Stefan Eletzhofer
Abstract
This is a little tool to help me with releasing stuff to GitHub.
Synopsis
ghrelease - a GitHub release helper
Usage:
ghrelease --version
ghrelease [options] list <reponame>
ghrelease [options] create --tag=TAG [--name=RELEASE_NAME] [--body=FILE] [--draft | --prerelease] <reponame> [<file>...]
ghrelease [options] upload --tag=TAG <reponame> <file>...
ghrelease [options] open (--tag=TAG | --latest) <reponame>
The `list` command lists available releases.
The `create` command creates new releases, optionally uploading some assets.
The `upload` command uploads assets to a existing release. It's not possible to
replace assets -- the command will complain if you're trying to upload an existing
asset.
The `open` command opens the release's web page in the system default browser.
Options:
-h --help show this help
-u --user=USER github login name
-p --password=PASS github password
--password-env=ENV read password from system environment [default: GHRELEASE_PASS]
--user-env=ENV read user name from system environment [default: GHRELEASE_USER]
--owner=OWNER github owner [defaults to the user name]
--debug debug logging
-v, --verbose print more text
Examples
Listing all releases of a given repository:
$ ghrelease --user fred --pass s3kr17 list some-repo RELEASE release-name (v0.3) @ https://github.com/fred/some-repo/releases/tag/v0.3 PRERELEASE release-name (v0.2) @ https://github.com/fred/some-repo/releases/tag/v0.2 PRERELEASE release-name (v0.1) @ https://github.com/fred/some-repo/releases/tag/v0.1
Passing credentials via command line is insecure and ugly:
$ export GHRELEASE_USER=fred $ export GHRELEASE_PASS=s3kr71 $ ghrelease list some-repo RELEASE release-name (v0.3) @ https://github.com/fred/some-repo/releases/tag/v0.3 PRERELEASE release-name (v0.2) @ https://github.com/fred/some-repo/releases/tag/v0.2 PRERELEASE release-name (v0.1) @ https://github.com/fred/some-repo/releases/tag/v0.1
Creating a new release for tag v0.4 named super-duper, using the local file docs/changelog.rst as release notes, uploading some zip file:
$ ghrelease create some-repo v0.4 --name super-duper --body docs/changelog.rst super-duper-0-4.zip Release created: RELEASE super-duper (v0.4) @ https://github.com/fred/some-repo/releases/tag/v0.4 uploading super-duper-0-4.zip (application/octet-stream) ...
Open the web page of that release:
$ ghrelease open --tag v0.4 some-repo
Uploading assets to an existing release:
$ ghrelease upload some-repo --tag v0.4 super-duper-0-4-docs.zip LICENSE uploading file super-duper-0-4-docs.zip (application/octet-stream) ... uploading file LICENSE (application/octet-stream) ...
Release files for ghrelease 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ghrelease-0.1.2-py2.7.egg | Legacy Egg format | - | - | Details |
Release files / ghrelease-0.1.2-py2.7.egg
| Download URL | ghrelease-0.1.2-py2.7.egg |
|---|---|
| Size | 2.4 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
ede01c7e01c5880e9e7e83e04d223f5f6be442ec604caab2ae86905d9d06a7fc
|
|
BLAKE2b-256 checksum How to use checksums |
d260a7dd569113576809f59b72bbe97bea411142683a834e0e18b7484901dc4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |