Hello! I published a Hex package that helps with publishing Hex packages [1]
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
For example, to publish 1.0.0
version of your project off the master
branch you’d run:
$ mix shipit master 1.0.0
The easiest way to install it is to run: $ mix archive.install hex shipit
See it on GitHub: https://github.com/wojtekmach/shipit
Any feedback is very appreciated!
[1] using the package itself!