Version release for elixir

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

Performs release best-practices, including:

Install

Current release: 0.0.1-beta.13

Add to mix.exs

def deps do
[
...other
{:version_release, "0.0.1-beta.13", only: :dev, runtime: false}
...other
]
end

Usage

mix version.[level]

leveldescription
majorCreates major realease version. I.e. from 1.2.3 to 2.2.3
minorCreates minor realease version. I.e. from 1.2.3 to 1.3.3
patchCreates patch realease version. I.e. from 1.2.3 to 1.2.4
rcCreates alpha realease version. I.e. from 1.2.3 to 1.2.4-rc.0
betaCreates alpha realease version. I.e. from 1.2.3 to 1.2.4-beta.0
alphaCreates alpha realease version. I.e. from 1.2.3 to 1.2.4-alpha.0

Prerequisite

Changelog

Why keep a changelog and why

Config

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

License

Licensed under MIT license