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
Current release: 0.3.0
Add to mix.exs
def deps do
[
...other
{:version_release, "0.3.0", only: :dev, runtime: false}
...other
]
end
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.
- Your project should be managed by git.
Check this repo config or elixir-version-release-tests repo config to have some examples how to configure chanelog updates.
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.
Licensed under MIT license
If you found this library useful, dont forget to star it (on github) =)