tfiedlerdejanze / expublish

Automates semantic release versioning and best practices for elixir packages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full release process support

marc0s opened this issue · comments

In addition to #31 I'd like to have a tool for Cutting a Release in the sense of:

  1. processing commits since last git (annotated?) tag pointing to a release, so we can determine if such a subset of commits imply a patch, minor or major release number and calculate it (based on commitizen as pointed out in #31)
  2. based on the same subset of commits, use their information to build a list of CHANGELOG entries to be inserted into the existing (or newly created if missing) CHANGELOG.md file
  3. update mix.exs (and optionally an adjacent VERSION file) accordingly to the new computed version number
  4. commit these changes with a meaningful git commit message
  5. tag that commit with the computed version number
  6. push the commit and tag to the remote origin

I'm aware this is such a broadening of the scope of the project in its actual form, so feel free to discard or amend at will 😄