ucwaldo
Expublish - Automates semantic release versioning and best practices for elixir packages
Expublish provides a mix task that helps package maintainers keeping a clean, meaningful and trackable version history. It follows semantic versioning conventions while executing a series of best practices before releasing a new package version.
Those include verifying a clean git working directory, passing tests, a new git commit and tag as well as a new curated change log entry.
The mix task makes it straight forward for contributors or colleagues to get their changes out of the door, not having to manually perform a list of steps that might vary from project to project and are easy to get wrong.
Use it from a CI server to continuously release new package versions, especially useful when your repository receives frequent updates.
Things like a ready github action might follow in the future.
Most Liked
ucwaldo
Yes it would. One can control the tasks behaviour with a bunch of different options like --disable-publish, --disable-push, of course --dry-run and more.
The docs are a bit all over the place but most of the things should be in there. All kind of feedback and ideas are appreciated here or in a github issue! Thanks @axelson !
christhekeele
This is really cool, I was just thinking about building something like this!
ucwaldo
2.7.3 - 3. May 2022
Relevant changes since the last update here:
- Fix
--allow-untrackedensuring that untracked files are not added in the release commit - ISO 8601 formatted changelog entry date by default
- Fail mix task with appropriate exit code to fail CI runs
- Loosen Elixir version constraint to 1.8
- Improved documentation
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









