ShipIt v0.2.3 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

Functions

run(args)

A task needs to implement run which receives a list of command line args.

Callback implementation for Mix.Task.run/1.