documentation/RELEASE.md · main · 2026-09-26

Release Extension

A release is a commit on the gitmsg/release branch (GITRELEASE.md) that names a tag and a version, and can also have artifacts, checksums, an SBOM and a signing key.

Initialize · Create · Edit and retract · Query · Artifacts · Reference

Initialize

gitsocial release init
gitsocial release config get|set|list

init is idempotent. It creates refs/gitmsg/release/config and the gitmsg/release branch.

Create

gitsocial release create "v1.0.0" --tag v1.0.0 --version 1.0.0 \
    --artifacts dist/app-linux-amd64.tar.gz,dist/app-darwin-arm64.tar.gz \
    --artifact-url https://releases.example.com/v1.0.0 \
    --checksums SHA256SUMS --sbom sbom.spdx.json --signed-by 0xABCD1234 --prerelease

Edit and retract

gitsocial release edit <ref> --body "Updated notes" [--artifacts ...] [--prerelease]
gitsocial release retract <ref>

Query

gitsocial release list [-n 20] [-r <repo>]
gitsocial release show <ref>
gitsocial release artifacts list <ref>
gitsocial release artifacts record <ref> <file...>      # add artifact names to a release, no upload
gitsocial release artifacts export <ref>                # download the artifacts
gitsocial release sbom <ref>                            # format, packages, generator, licenses

artifacts list and export read the git artifact ref if it exists, and otherwise download from <artifact-url>/<name>.

Artifacts

gitsocial release artifacts push <version> <file...> [--remote <name>]

Reference