Adopt ReleaseKit v0.8.0 and saved-attempt recovery
This commit is contained in:
@@ -74,8 +74,8 @@ Successful publication needs no separate remote read-back or CI wait.
|
||||
|
||||
For optional local diagnosis, use `./scripts/releasekit.sh check VERSION`.
|
||||
It is not a required step before publication. The upstream
|
||||
[candidate-check guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.7.0/docs/consumers/check.md)
|
||||
and [CLI contract](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.7.0/docs/cli.md)
|
||||
[candidate-check guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/consumers/check.md)
|
||||
and [CLI contract](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/cli.md)
|
||||
own shared checks and exit-status definitions.
|
||||
|
||||
## Deliver The Hosted Release
|
||||
@@ -104,7 +104,7 @@ git switch --detach vMAJOR.MINOR.PATCH
|
||||
Resolve uncertain hosted writes before retrying the same immutable version.
|
||||
Matching content is accepted; conflicts are not overwritten. Do not rerun
|
||||
`publish` or move tags to repair delivery. Follow the upstream
|
||||
[delivery guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.7.0/docs/consumers/delivery.md)
|
||||
[delivery guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/consumers/delivery.md)
|
||||
for result interpretation and recovery. These commands apply to tags containing
|
||||
this delivery configuration; older releases retain their original workflows.
|
||||
|
||||
@@ -115,21 +115,33 @@ distinguish a candidate defect from a publication conflict. Correct and commit
|
||||
candidate defects, push `main`, and rerun publication as appropriate. A failure
|
||||
after local tag creation may leave a ref even when its object ID is unavailable.
|
||||
|
||||
Status 3 means the push outcome remains unknown. Preserve the captured endpoint,
|
||||
version, and tag object from that attempt; do not retry or remove the local tag
|
||||
until the authoritative outcome is resolved. Diagnostics mask HTTP(S) credentials,
|
||||
so use the actual captured endpoint rather than a redacted display. Follow the
|
||||
upstream [failure-recovery procedure](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.7.0/docs/release.md#resolve-failures):
|
||||
Status 3 means the push outcome remains unknown. Do not retry or remove the local
|
||||
tag until the authoritative outcome is resolved. ReleaseKit attempts to save
|
||||
private publication evidence and reports a record path or a separate recording
|
||||
warning. A recording failure does not change the publication outcome.
|
||||
|
||||
Use the recovery command reported for that attempt, or discover local records
|
||||
and explicitly select the matching attempt:
|
||||
|
||||
```sh
|
||||
releasekit_endpoint='COPY_CAPTURED_ENDPOINT'
|
||||
releasekit_version='vX.Y.Z'
|
||||
test "$(git ls-remote --get-url -- "$releasekit_endpoint")" = "$releasekit_endpoint" &&
|
||||
git ls-remote --refs -- "$releasekit_endpoint" "refs/tags/$releasekit_version"
|
||||
./scripts/releasekit.sh publication-attempts
|
||||
./scripts/releasekit.sh reconcile --record /absolute/path/to/selected-record.json
|
||||
```
|
||||
|
||||
An exact tag-object match confirms publication. Absence is established only if
|
||||
both checks succeed and the tag is missing; a failed check leaves the outcome
|
||||
unknown. Remove an unpublished local tag only after confirming authoritative
|
||||
absence. Never move or replace a published tag or hosted page. Corrections to
|
||||
published source or content require a new appropriate version.
|
||||
Discovery is local; reconciliation observes the original destination without
|
||||
rerunning validation, changing tags, or delivering hosted content. Neither is
|
||||
a routine gate after successful publication. Follow the upstream
|
||||
[recovery procedure](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/release.md#resolve-publication-failures)
|
||||
for outcomes, incomplete evidence, and older attempts without records.
|
||||
|
||||
Records are stored under Git's common directory by default and can contain
|
||||
credential-bearing endpoints. Keep them private, out of source control and
|
||||
shared logs; retain them while needed for recovery and remove them when that
|
||||
value expires. See the [evidence guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/consumers/publish.md#retain-and-reconcile-publication-evidence)
|
||||
for storage and retention details.
|
||||
|
||||
Current absence does not prove a version was never published. Remove a retained
|
||||
local tag only after establishing absence and confirming it was not already
|
||||
published or used by another release channel. Never reuse a known published
|
||||
version or replace a published tag or hosted page. Corrections require a new
|
||||
appropriate version.
|
||||
|
||||
Reference in New Issue
Block a user