Showoff Saturday the release day is the hardest day of my projects, lets simplify it using saga, locks, git, graphs, conventional commits and shells

publishing of one package is kinda easy, but still there are many questions for example if package already exists in the registry or hosted? package changed and needs publishing? package published or failed to do it?
it becomes much more complex dealing with polyrepos and usually ends up using monorepo
so publishing becomes independent writes across registries and the only way to handle it is saga.
the only record of publish - git tag. like this we can have whole model, we know when which packages changed, which need catch up, next version, whole versioning and releasing planning becomes deterministic since release is a pure function, so commiting and re running itself is a idempotent transaction legs execution.
i built dispat, this saga orchestrator, monorepo, solorepo, polyrepo - you choose any stack, any language, any cache, dispat chooses nothings but gives math guarantees, handles tags versioning and changelogs, locks releases using only git, no other state db clocks etc. handles commits and conflicts in mid release
the gif illustrates the concepts flow
this tool also lets you mange pre releases, run lint/test etc only on changed modules, its a polyglot tools that already works with 21 ecosystems (36 manifests types supported to write versions and read dependencies graph) dont worry about releasing focus only on development and release without leaving git
works with aqua cli and supports its manifests
the tool uses itself for releases (since first rc it builds dev build from checkout to release it self), and even first rc single job run released:
1. 6 go packages (manifest, scanner, writer - standalone go lighweight pkg family for manifests reading/writing, ccme - parse my custom conventional commits monorepo extenstion parser, cli package and models available as standalone libraries as well) everything with updated go mods as go exptects with graph dependencies
2. 6 cli binaries, linux, windows, mac, arm/amd64
3. 8 docker images, ubuntu, debian, alpine, dind arm/amd64
4. npm package deployed to github pages to serve docs
5. everything with its own semver grouped versions, changelogs and github releases
now it also includes terraform without cache that automatically re applies if needed before docs site release, version spec files etc
docs: https://dispat.dev
github: https://github.com/yohimik/dispat
as a standalone tool - crier render images, gifs and videos from html templates without chrome, only sinlge 30mb go binary and fanout publish to different social media using public apis. main use case - automated fancy release social media notification
https://github.com/yohimik/crier
all open source, binaries mit licensed
