Version release for elixir

Hex.pm Hex.pm Docs

Project version and changelog managment for elixir. Insparation for functionality is taken from cargo-release package for Rust

Performs release best-practices, including:

  • Ensure the git working directory is clean.
  • Bump the version in mix.exs
  • Create a git tag for this version
  • Run mix release (disabled by default)
  • Bump version for next development cycle
  • Push everything to github

install

Install

Current release: 0.5.3

Add to mix.exs

def deps do
  [
    ...other
    {:version_release, "0.5.3", only: :dev, runtime: false}
    ...other
  ]
end

usage

Usage

mix version.[level] [--dry-run | -d] [--skip-push | -g] [--skip-publish | -h] [--skip-dev-version | -v] [--skip-merge | -m] [--tag-prefix=<tag_prefix>]

Check reference for more info on levels, other configuration options and CLI commands Or type mix version for quick help.

prerequisite

Prerequisite

  • Your project should be managed by git.

changelog

Changelog

Why keep a changelog and how

examples

Examples

Check this repo config or elixir-version-release-tests repo config to have some examples how to configure chanelog updates.

merging

Merging

Sometimes it is useful to keep 2 or more branches up to date with the branch that you are doing version bump from. See reference merging section for more info.

license

License

Licensed under MIT license

ps

PS

If you found this library useful, dont forget to star it (on github) =)

GitHub stars