Upload files to GitHub releases.

Version on this page:
LTS Haskell 19.13:
Stackage Nightly 2022-06-30:
Latest on Hackage:

See all snapshots github-release appears in

MIT licensed
Maintained by Taylor Fausak
This version can be pinned in stack with:github-release-,1884

Module documentation for

GitHub Release

CI Hackage Stackage

GitHub Release is a command-line utility for uploading files to GitHub releases.

Once you’ve got it, run it like so:

github-release upload \
  --token '...' \
  --owner 'someone' \
  --repo 'something' \
  --tag 'v1.2.3' \
  --file 'path/to/example.tgz' \
  --name 'example-1.2.3.tgz'

You can generate a token on the personal access tokens page of your personal settings. The file option is the path to the local file you want to upload. The name option is what the file should be called on the GitHub release.

GitHub Release is written in Haskell. If you want to build it yourself or use it in your project, you’ll want to get Stack. Once you’ve done that, you can install and use it from the command line.

stack --resolver nightly install github-release
stack exec -- github-release upload # as above ...

Or you can use it from Haskell.

import qualified GitHubRelease
    "..."                 -- token
    "someone"             -- owner
    "something"           -- repo
    "1.2.3"               -- tag
    "path/to/example.tgz" -- file
    "example-1.2.3.tgz"   -- name

Inspired by


Change log

GitHub Release follows the Package Versioning Policy. You can find release notes on GitHub.