rustyphoenixcommitrelease-1.0.0 is not a library.
RustyPhoenixCommitRelease
phoenix_commit_release updates the changelog with git-cliff and
commits, tags and pushes a Phoenix release, replacing the hand-rolled shell script previously
used in the commit-release CI component of phoenixcitoolkit.
Release-notes generation (the GitLab Release description) is handled separately, outside this tool.
It expects git and git-cliff to be available on PATH, and a cliff.toml at the root of
the target repository (git-cliff is run from --repo-path, so it picks up the project's own
config).
Usage
GITLAB_TOKEN or GL_TOKEN must be set in the environment (same convention as
@semantic-release/gitlab); it is never accepted as a CLI argument so it does not leak through
the process list or job logs.
Steps performed:
git config --global --add safe.directory <repo-path>(the image runs as a non-root user, the checkout may be owned by another one).git-cliff --unreleased --tag <version> --prepend <changelog-path>, creating the changelog file first if this is the project's first release (git-cliff's--prependrequires it to already exist).- Rewrites the
originremote to an authenticated HTTPS URL built from--server-host/--project-pathand the token. git addspixi.toml,codemeta.json, the changelog and every--extra-filesentry that exists on disk, so the same invocation works unmodified for C++/Rust/Python projects.- Commits with a fixed bot identity (
Phoenix CI <ci@phoenix.invalid>by default, overridable with--author-name/--author-email) and pushes it to--branch. - Tags the commit with
--versionand pushes the tag as a realgit push(a tag created only through the GitLab Releases API does not honor[skip ci]on the tagged commit). - Writes
--env-output(release-commit.envby default) withRELEASE_COMMIT_SHA,REPLACE_VERSIONandCURRENT_VERSION, for GitLab'sdotenvartifact report.