33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# Catalog Release Procedure
|
|
|
|
This repository releases source tags only. It has no generated artifacts. The
|
|
module path is `gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3`.
|
|
|
|
## Version selection
|
|
|
|
Release versions use `v3.YYYYMMDD.N`. `YYYYMMDD` is the actual UTC publication
|
|
date. Begin at revision `0` for a date and increment `N` for each additional
|
|
release on that date. Versions are immutable: correct a published catalog with
|
|
a new dated version rather than moving or recreating a tag. This repository
|
|
releases independently of other catalog modules, so dates and revisions need
|
|
not match theirs.
|
|
|
|
## Validate the source candidate
|
|
|
|
Before creating a semantic version tag, start from a clean, synchronized
|
|
`main` branch. Confirm that no Go workspace, `replace` directive, or `vendor`
|
|
tree is active, then run `GOWORK=off go test ./...`, `GOWORK=off go test -race
|
|
./...`, `GOWORK=off go vet ./...`, `GOWORK=off go build ./...`, formatting,
|
|
repository-hygiene, credential, and ordinary module-resolution checks.
|
|
|
|
Confirm the module reports the `/v3` identity before publication. Create an
|
|
annotated tag only after validation succeeds. Do not create or move an existing
|
|
tag. Publish the validated source commit through `main`, then push only the
|
|
selected annotated tag and verify that the remote tag and its peeled commit
|
|
identify that source commit.
|
|
|
|
Finally, from a temporary module with `GOWORK=off`, no workspace, no
|
|
replacement, and no vendor tree, resolve the exact published
|
|
`gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3@version`.
|
|
Verify both the resolved module identity and version match the selected tag.
|