There are canned github workflows to do releases.
But they are subtle to improve and nearly impossible to test.
We could build tools that handled (and were testable) for
- dealing with multiple modules in a repository
- stuffing the version into MODULE.bazel
- modifying MODULE.bazel to point to the preferred versions of releated modules
- creating the tag
- creating the release
- building the archive tarball
- verifying the archive tarball