Align release policy and operational documentation
This commit is contained in:
@@ -124,12 +124,21 @@ success. Otherwise it reports branch-only, conflicting, or unknown state and
|
||||
retains any local tag.
|
||||
|
||||
Inspect exact refs before any retry. Set `release_version` to the attempted
|
||||
version and compare main with the candidate printed or recorded from the run:
|
||||
version and compare main with the candidate from the command's report:
|
||||
|
||||
```sh
|
||||
release_version=v0.5.0
|
||||
authoritative=https://gitea.maximumdirect.net/eric/ConfigKit.git
|
||||
git ls-remote --refs --exit-code "$authoritative" refs/heads/main
|
||||
if remote_main=$(git ls-remote --refs --exit-code "$authoritative" refs/heads/main); then
|
||||
printf 'remote main: %s\n' "$remote_main"
|
||||
else
|
||||
result=$?
|
||||
if [ "$result" -eq 2 ]; then
|
||||
printf 'authoritative main confirmed absent\n' >&2
|
||||
else
|
||||
printf 'remote main state unknown; inspect before retrying\n' >&2
|
||||
fi
|
||||
fi
|
||||
ref="refs/tags/$release_version"
|
||||
if remote_tag=$(git ls-remote --refs --exit-code "$authoritative" "$ref"); then
|
||||
printf 'remote tag: %s\n' "$remote_tag"
|
||||
@@ -141,7 +150,11 @@ else
|
||||
printf 'remote tag state unknown; do not reuse the version\n' >&2
|
||||
fi
|
||||
fi
|
||||
git rev-parse --verify "refs/tags/$release_version"
|
||||
if local_tag=$(git rev-parse --verify "refs/tags/$release_version" 2>/dev/null); then
|
||||
printf 'local tag object: %s\n' "$local_tag"
|
||||
else
|
||||
printf 'no local tag object\n'
|
||||
fi
|
||||
```
|
||||
|
||||
A query failure is not proof that the tag is absent. Compare the remote tag
|
||||
@@ -168,5 +181,17 @@ version into a new module without a local `replace` directive. These checks
|
||||
are optional and non-gating. Do not poll CI or wait for module propagation.
|
||||
Private-host credentials must already be configured. For direct-origin
|
||||
verification, use a temporary consumer module and check the exact module path
|
||||
and version reported by `go list -m`. Report optional verification separately
|
||||
from publication success.
|
||||
and version reported by `go list -m`:
|
||||
|
||||
```sh
|
||||
consumer_dir=$(mktemp -d)
|
||||
(
|
||||
cd "$consumer_dir"
|
||||
go mod init example.invalid/configkit-release-check
|
||||
GOPRIVATE=gitea.maximumdirect.net GOPROXY=direct go get "gitea.maximumdirect.net/eric/ConfigKit@$release_version"
|
||||
go list -m -f '{{.Path}} {{.Version}}' gitea.maximumdirect.net/eric/ConfigKit
|
||||
)
|
||||
```
|
||||
|
||||
The output should show the exact module path and selected version. Report this
|
||||
optional check separately from publication success.
|
||||
|
||||
Reference in New Issue
Block a user