Correct release recovery endpoint checks
This commit is contained in:
@@ -178,14 +178,21 @@ bounded authoritative reconciliation after a failed tag push. Exit status 3
|
|||||||
means the tag outcome remains unknown; do not blindly retry or move a tag.
|
means the tag outcome remains unknown; do not blindly retry or move a tag.
|
||||||
|
|
||||||
For an uncertain result, use the exact endpoint, candidate commit, version, and
|
For an uncertain result, use the exact endpoint, candidate commit, version, and
|
||||||
tag-object ID from the report. Query the authoritative refs once:
|
tag-object ID from the report. Copy the captured endpoint into the variable
|
||||||
|
below using normal shell quoting. Check that Git still resolves it to itself,
|
||||||
|
then query the authoritative refs once:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
authoritative=https://gitea.maximumdirect.net/eric/ConfigKit.git
|
authoritative='COPY_CAPTURED_ENDPOINT'
|
||||||
release_version=vMAJOR.MINOR.PATCH
|
release_version='vMAJOR.MINOR.PATCH'
|
||||||
git ls-remote --refs "$authoritative" refs/heads/main "refs/tags/$release_version"
|
test "$(git ls-remote --get-url -- "$authoritative")" = "$authoritative" &&
|
||||||
|
git ls-remote --refs -- "$authoritative" refs/heads/main "refs/tags/$release_version"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
A failed URL-equality check or remote query leaves the outcome unresolved.
|
||||||
|
Correct transport configuration before continuing; a rewritten destination
|
||||||
|
cannot establish absence at the captured endpoint.
|
||||||
|
|
||||||
Compare the `main` object ID with the reported candidate commit and the tag
|
Compare the `main` object ID with the reported candidate commit and the tag
|
||||||
object ID with the reported tag-object ID. `--refs` returns the annotated tag
|
object ID with the reported tag-object ID. `--refs` returns the annotated tag
|
||||||
object itself, not merely its peeled commit. If the tag object matches, the
|
object itself, not merely its peeled commit. If the tag object matches, the
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ match the intended architecture. Address the following documentation findings.
|
|||||||
|
|
||||||
## 1. Preserve the captured endpoint during manual recovery (P2)
|
## 1. Preserve the captured endpoint during manual recovery (P2)
|
||||||
|
|
||||||
|
Status: Complete. The runbook uses the captured endpoint and checks Git's URL
|
||||||
|
resolution before querying refs. Its documented command returned the exact tag
|
||||||
|
in a temporary fixture and rejected a rewritten endpoint before querying refs.
|
||||||
|
|
||||||
Affected: [release procedure](../release.md#5-recover-from-a-failed-or-uncertain-tag-push),
|
Affected: [release procedure](../release.md#5-recover-from-a-failed-or-uncertain-tag-push),
|
||||||
lines 180–199.
|
lines 180–199.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user