Skip to main content

A GitHub release helper

Project description

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) ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ghrelease-0.1.2-py2.7.egg (2.4 kB view details)

Uploaded Source

File details

Details for the file ghrelease-0.1.2-py2.7.egg.

File metadata

File hashes

Hashes for ghrelease-0.1.2-py2.7.egg
Algorithm Hash digest
SHA256 ede01c7e01c5880e9e7e83e04d223f5f6be442ec604caab2ae86905d9d06a7fc
MD5 08e23453b15bee7b43bcc854a5f16c74
BLAKE2b-256 d260a7dd569113576809f59b72bbe97bea411142683a834e0e18b7484901dc4a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page