Skip to content

benitezhm/elixir-version-release

 
 

Repository files navigation

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

Current release: 0.3.0

Add to mix.exs

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

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

  • Your project should be managed by git.

Changelog

Why keep a changelog and how

Examples

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

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

Licensed under MIT license

PS

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

GitHub stars

About

Project version and changelog managment for elixir

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%