Document neutral forge delivery and preflight
This commit is contained in:
59
docs/releases/v0.6.0.md
Normal file
59
docs/releases/v0.6.0.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# ReleaseKit v0.6.0
|
||||
|
||||
## Summary
|
||||
|
||||
ReleaseKit adds neutral delivery coordination behind an explicit Gitea backend
|
||||
selection and introduces authenticated, read-only credential preflight.
|
||||
|
||||
## Changes
|
||||
|
||||
- `releasekit.DeliveryRequest.Destination` now uses the facade-owned
|
||||
`releasekit.DeliveryDestination`. Set `Forge: releasekit.ForgeGitea` for
|
||||
Gitea delivery. The removed `GiteaDestination` type has no compatibility
|
||||
alias.
|
||||
- Delivery profiles must include `"forge": "gitea"`. The selection is
|
||||
required only when `deliver` or `ci-deliver` is requested; the URL does not
|
||||
infer a backend. `check`, `build`, and source `publish` remain independent of
|
||||
delivery selection and credentials.
|
||||
- `releasekit.PreflightDelivery` allows callers to check a destination without
|
||||
a checkout or tag. `Deliver` performs the same read-only preflight
|
||||
automatically. For Gitea, the check authenticates through repository-scoped
|
||||
reads and makes no test release or asset writes.
|
||||
- `DeliveryPreflightError` exposes classified failures and retains the
|
||||
underlying cause. Successful preflight confirms authentication and repository
|
||||
access plus available permission evidence; it does not guarantee future
|
||||
release or asset writes. Gitea's code-push permission metadata does not
|
||||
establish release-write or asset-write permission.
|
||||
- The CLI keeps `RELEASEKIT_GITEA_TOKEN` as its default token environment
|
||||
setting and preserves configured environment/file precedence. Selection,
|
||||
credential, and inaccessible-destination errors return status 2; unavailable
|
||||
verification and cancellation return status 1.
|
||||
- Binary `ci-deliver` checks credentials before application dependency
|
||||
downloads and checks again during delivery. The automatic check now precedes
|
||||
full local artifact size and digest verification; those checks still finish
|
||||
before hosted writes.
|
||||
|
||||
## Upgrade guidance
|
||||
|
||||
1. Replace `releasekit.GiteaDestination` with
|
||||
`releasekit.DeliveryDestination` and set
|
||||
`Forge: releasekit.ForgeGitea` in each API request.
|
||||
2. Add `"forge": "gitea"` to every profile used for `deliver` or
|
||||
`ci-deliver`, including profiles loaded from a tagged CI checkout. Keep the
|
||||
existing `base_url`, owner, repository, token environment, and token file
|
||||
settings.
|
||||
3. If handling preflight failures in Go, use `errors.As` to inspect
|
||||
`*releasekit.DeliveryPreflightError` and use `errors.Is` or `errors.As` on
|
||||
its unwrapped cause as needed.
|
||||
4. Continue to treat successful preflight as evidence of repository access,
|
||||
not a guarantee that a later write will be accepted. Source publication
|
||||
continues to use Git authentication and does not require hosted delivery
|
||||
credentials.
|
||||
|
||||
See the [delivery guide](../consumers/delivery.md), [configuration reference](../config.md),
|
||||
[CLI contract](../cli.md), and [Gitea integration guide](../integrations/gitea.md)
|
||||
for current behavior.
|
||||
|
||||
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.6.0/COPYRIGHT) |
|
||||
[LICENSE](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.6.0/LICENSE) |
|
||||
[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.6.0/docs/oss/attribution.md)
|
||||
Reference in New Issue
Block a user