hackage-release
Installation
SKILL.md
Hackage Release
Bump version, build, validate, tag, push, and publish a Haskell package to Hackage.
Workflow
- Bump version in
package.yaml(if using hpack) or.cabalfile - Update ChangeLog.md with release notes
- Regenerate cabal (if using hpack):
hpack - Build:
cabal build - Check:
cabal check(must report zero warnings) - Create sdist:
cabal sdist - Commit & tag: commit all changed files,
git tag vX.Y.Z.W - Push:
git push && git push --tags - Get Hackage credentials:
pass show hackage.haskell.org.gpg- Format: first line is password,
user:line has username
- Format: first line is password,
- Publish package:
cabal upload --publish <sdist-tarball> --username=<user> --password='<pass>' - Build & publish docs:
cabal haddock --haddock-for-hackagethencabal upload --documentation --publish <docs-tarball> --username=<user> --password='<pass>'