keybump

manage your release versioning like a boss..


Keywords
release, release-automation, version-manager, versioning
License
MIT
Install
pip install keybump==3.0.1

Documentation

keybump

manage your versioning like a boss

  • keybump is an opinionated command-line app to manage versioning workflow + dist + releasing
  • keybump makes following the semantic versioning specification a breeze
  • keybump helps to automate the tedious task of summarizing changes from one version to the next by intelligently parsing the commit messages


build-status:

master travis-ci build-status: master
develop travis-ci build-status: develop

links:



introduction

development + testing done on the following configuration:

  • macosx 10.7.6
  • python 2.7.4

requirements

keybump requires the following in order to run properly:

check that the correct version of git + python are installed

$ python --version
$ git --version



installation

install keybump with pip

$ pip install keybump==3.0.1



usage

$ keybump [options]

options:

--bump                  version bump type to increment. must be  one of:
                          major [x].x.x     minor x.[x].x     patch x.x.[x]
--skip-interactive      skips the script from using the interactive command line interface
--skip-commit           skips commiting any changes to the changelog file
--skip-tag              skips creating a git tag at the current HEAD
--skip-push             skips pushing to the remote origin
--pypi-dist             build the release and upload to the python package index
--changelog-file        path to a changelog history file
--changelog-fmt         string format of the changelog version summary
--git-commit-fmt        string format of the git commit message
--git-tag-fmt           string format of the git tag

if called with no options, keybump will print the script's current git tag version.

examples

normal usage

$ keybump --bump patch

if called with no options, keybump will print the script's current project's information:

$ keybump

github-flavored-markdown notes

mentions

use a /cc convention to call out people: screenshot

auto-linking

certain references are auto-linked:

  • SHA : 16c999e8c71134401a78d4d46435517b2271d6ac
  • User@SHA ref : mojombo@16c999e8c71134401a78d4d46435517b2271d6ac
  • User/Project@SHA : mojombo/github-flavored-markdown@16c999e8...
  • #Num : #1
  • User/#Num : mojombo#1
  • User/Project#Num : mojombo/github-flavored-markdown#1

task lists

lists can be turned into Task Lists by prefacing list items with:

  • [ ] complete
  • [x] incomplete

referencing github issues

you can use any of the following keywords to close an issue via commit message:

  • close
  • closes
  • closed
  • fix
  • fixes
  • fixed
  • resolve
  • resolves
  • resolved

note: referencing an issue number within the pull request title won't close it, the reference must be in a commit message, or the pull request body


limitations

  • no built-in support for pre-release or build numbers
    • 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92
    • 1.0.0+build.1, 1.3.7+build.11.e0f985a
  • doesn't check validity of user set versions

license

keybump is distributed under the MIT License