All Projects → domenkozar → releaser

domenkozar / releaser

Licence: Apache-2.0 license
Automation of Haskell package release process.

Programming Languages

haskell
3896 projects

Labels

Projects that are alternatives of or similar to releaser

arch-hs
Distribute hackage packages to archlinux
Stars: ✭ 18 (-41.94%)
Mutual labels:  cabal
Pi-Pool
Cardano Stakepool on Raspberry Pi
Stars: ✭ 204 (+558.06%)
Mutual labels:  cabal
ebal
*DEPRECATED* Emacs interface to Cabal and Stack
Stars: ✭ 29 (-6.45%)
Mutual labels:  cabal
vabal
cabal in Valle
Stars: ✭ 43 (+38.71%)
Mutual labels:  cabal
Haskell Language Server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Stars: ✭ 1,857 (+5890.32%)
Mutual labels:  cabal
hackage-ui
Follow us: https://twitter.com/HaskellSpot Support the project: https://ko-fi.com/visortelle
Stars: ✭ 84 (+170.97%)
Mutual labels:  cabal
nix-hs
Haskell + nixpkgs = nix-hs
Stars: ✭ 23 (-25.81%)
Mutual labels:  cabal
autopack
📦 Custom Setup to automate package modules discovery
Stars: ✭ 32 (+3.23%)
Mutual labels:  cabal

Releaser

Automation of Haskell package release process.

Example usage

$ releaser
>> Assserting there are no uncommitted files
>> Looking for a cabal file in .
>> Found releaser-0.1.0.0
>> Bump cabal version from 0.1.0.0 to: 0.1.0.0
>> Bumped releaser to 0.1.0.0
>> Running $ git checkout -b v0.1.0.0
Switched to a new branch 'v0.1.0.0'
>> Assserting there are no uncommitted files
>> Running $ cabal dist
>> Looking for a cabal file in .
>> Found releaser-0.1.0.0
Warning: The sdist command is a part of the legacy v1 style of cabal usage.

Please switch to using either the new project style and the new-sdist command
or the legacy v1-sdist alias as new-style projects will become the default in
the next version of cabal-install. Please file a bug if you cannot replicate a
working v1- use case with the new-style commands.

For more information, see: https://wiki.haskell.org/Cabal/NewBuild

>> Created dist/releaser-0.1.0.0.tar.gz
>> Running $ git commit 
>> Running $ git tag --annotate --sign v0.1.0.0
>> Pushing git to origin
Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 8 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (19/19), 3.37 KiB | 3.37 MiB/s, done.
Total 19 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8), completed with 3 local objects.
remote: 
remote: Create a pull request for 'v0.1.0.0' on GitHub by visiting:
remote:      https://github.com/domenkozar/releaser/pull/new/v0.1.0.0
remote: 
To https://github.com/domenkozar/releaser.git
 * [new branch]      HEAD -> v0.1.0.0
>> Pushing git to origin
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 540 bytes | 540.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/domenkozar/releaser.git
 * [new tag]         v0.1.0.0 -> v0.1.0.0
>> Running $ cabal upload
ploading dist/releaser-0.1.0.0.tar.gz...
Package successfully published. You can now view it at
'https://hackage.haskell.org/package/releaser-0.1.0.0'.

Features

  • Releaser.Primitives module provides a bunch of functions to help automating release process.

  • releaser executable provides interactive automation for releasing package to Hackage and git.

Design decisions

  • When there's a choice for configuration, prefer a convention and avoid configuration.

  • Log each primitive action

Prior art

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].