Automates a library release for Hex.
Steps:
- Ensure git worktree is clean.
- Run
mix precommit(unless--skip-precommit). - Read version from
mix.exsand derive tagv<version>. - Ensure tag does not already exist.
- Create annotated tag.
- Optionally push commit + tag.
- Optionally publish package/docs to Hex.
Options
--remote <name>- git remote to push to (default:origin)--message <msg>- tag annotation message (default:Release v<version>)--no-tag- skip tag creation--no-push- skip git push--no-publish- skipmix hex.publish--skip-precommit- skipmix precommit--yes- pass--yestomix hex.publish
Examples
mix release.publish --yes
mix release.publish --no-publish
mix release.publish --no-tag --no-push --yes