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) ...
Metadata
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 | Actions Reset |
|---|---|---|---|---|
| ghrelease-0.1.2-py2.7.egg | Legacy Egg format | - | - | Details for ghrelease-0.1.2-py2.7.egg |
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 |
Security for ghrelease 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.