ShipIt v0.2.0 Mix.Tasks.Shipit
ShipIt automates Hex package publishing to avoid common mistakes.
mix shipit BRANCH VERSION
It automates these steps:
- ensure there are no uncommited changes in the working tree
- ensure current branch matches the given branch
- ensure local branch is in sync with remote branch
- ensure project version in mix.exs matches the given version
- ensure CHANGELOG.md contains an entry for the version
- ensure LICENSE.md file is present
- create a git tag and push it
- publish to Hex.pm and HexDocs.pm
A --dry-run
option might be given to only perform local checks.
Summary
Functions
A task needs to implement run
which receives
a list of command line args.
Callback implementation for Mix.Task.run/1
.