Fully automated version management and package publishing (in a container image)
- Dockerfile 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
## [1.6.0](https://codeberg.org/b4mad/semantic-release/compare/v1.5.3...v1.6.0) (2026-04-19) ### ✨ Features * add uv, pre-commit, and @semantic-release/exec ([ |
||
| .tekton | ||
| .containerignore | ||
| .releaserc | ||
| CHANGELOG.md | ||
| Containerfile | ||
| LICENSE | ||
| OWNERS | ||
| README.md | ||
semantic-release
This is a containerized version of the semantic-release tool. Hopefully it will be maintained and released by the cyborgs!
podman run --rm -ti --userns=keep-id:uid=1001,gid=0 \
-e NPM_TOKEN=npm_xxx -eEDITOR="echo 'Created-by: semantic-release' > $1" \
-v $(pwd):/workspace:Z -v <path-to-gpg-home-dir>:/opt/app-root/src/.gnupg:Z -v <path-to-home-dot-ssh>:/opt/app-root/src/.ssh:Z \
codeberg.org/b4mad/semantic-release:v1.4.2 --debug --no-ci
https://github.com/semantic-release/semantic-release/issues/3065 was helpful wrt gpg-signed tags.
Configuration
GnuPG
[https://github.com/isislovecruft/python-gnupg/issues/137#issuecomment-459043779] was a helpful hint, as parts of the
magic is configured in the ~/.gnupg/gpg.conf file.
$ cat ~/.gnupg/gpg.conf
no-greeting
pinentry-mode loopback
[...]
Environment Variables
GIT_AUTHOR_NAME="b4mad-release-bot"
GIT_AUTHOR_EMAIL="release-bot@b4mad.net"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
Git
Within the container we have to configure /workspace/ to be a safe directory for git operations, so the Containerfile contains the following lines:
RUN git config --global --add safe.directory /workspace