Expublish
Automated version and changelog management for elixir packages.
Usage: mix publish.[level] [--dry-run | -d] [--branch=release]
Flags:
-d, --dry-run - Perform dry run (no writes, no commits)
-u, --skip-push - Disable git push
-p, --skip-publish - Disable hex publish
-t, --skip-test - Disable test run
-b, --branch=string - Remote branch to push to, default: "master"
-r, --remote=string - Remote name to push to, default: "origin"
-h, --help - Print this help
Semver level:
major - Publish major version
minor - Publish minor version
patch - Publish patch version
Release a new package
- Create a
RELEASE.md
containing the new changelog entry. - Run
mix publish.[level]
.
$ echo "- changelog entry one\n- changelog entry two" > RELEASE.md
$ mix publish.minor
The mix task attempts to guarantee the following:
- Clean git working directory
- Passing tests
- Bumped version in mix.exs
- Decent changelog entry
- Git commit and tag
- Publish to hex