Document neutral forge delivery and preflight
This commit is contained in:
@@ -16,7 +16,7 @@ The current profile fields are:
|
||||
| `checks` | No | Ordered additional child commands, each with an argument vector and optional environment map. |
|
||||
| `validation` | No | Optional shared checks selected by ReleaseKit. |
|
||||
| `build` | No | Optional main package, binary name, and selected `GOOS/GOARCH` target strings. |
|
||||
| `delivery` | No | Optional Gitea `base_url`, `owner`, `repository`, `token_env`, and `token_file` settings for tagged-source delivery. |
|
||||
| `delivery` | No | Optional selected forge and destination fields for tagged-source delivery. |
|
||||
|
||||
`module_dir` names the selected module's physical location in the repository;
|
||||
ReleaseKit reads its declared import path from that module's own `go.mod`. The
|
||||
@@ -153,20 +153,39 @@ local files to exist, or inspect Git history. Existing clean-index/worktree
|
||||
requirements still apply to candidate operations. An ignore rule alone does
|
||||
not remove a previously committed file from the candidate.
|
||||
|
||||
The `delivery` object contains `base_url`, `owner`, `repository`, and optional
|
||||
`token_env` and `token_file`. `token_env` names the environment variable
|
||||
containing the Gitea token and defaults to `RELEASEKIT_GITEA_TOKEN`. A nonblank
|
||||
environment value takes precedence. When it is unset or blank, `token_file`
|
||||
selects a plain token-containing file; relative paths resolve from the Git
|
||||
repository root, and absolute paths are used as supplied. The CLI trims leading
|
||||
and trailing whitespace from file contents. An unreadable or blank file, or
|
||||
the absence of both credential sources, returns status 2. Omission of
|
||||
`token_file` retains environment-only loading.
|
||||
The `delivery` object contains `forge`, `base_url`, `owner`, `repository`, and
|
||||
optional `token_env` and `token_file`. A delivery request must set `forge` to
|
||||
`"gitea"`; omission, an empty or whitespace-only value, and unsupported values
|
||||
are errors when `deliver` or `ci-deliver` is requested. The URL does not select
|
||||
the forge. These semantic checks run only for delivery, so `check`, `publish`,
|
||||
and `build` do not require a delivery object, selection, or credentials.
|
||||
|
||||
`token_env` names the environment variable containing the Gitea token and
|
||||
defaults to `RELEASEKIT_GITEA_TOKEN`. A nonblank environment value takes
|
||||
precedence. When it is unset or blank, `token_file` selects a plain
|
||||
token-containing file; relative paths resolve from the Git repository root,
|
||||
and absolute paths are used as supplied. The CLI trims leading and trailing
|
||||
whitespace from file contents. An unreadable or blank file, or the absence of
|
||||
both credential sources, returns status 2. Omission of `token_file` retains
|
||||
environment-only loading.
|
||||
|
||||
After resolving the token, delivery performs an authenticated, read-only
|
||||
repository access check. Missing or rejected credentials, known insufficient
|
||||
permissions, and inaccessible destinations are configuration/credential
|
||||
failures. An unavailable service or canceled check is an operational failure.
|
||||
See the [CLI contract](cli.md) for exact exit statuses. Successful preflight
|
||||
confirms authentication and repository access and accounts for any exposed
|
||||
delivery-permission deficiency. It does not guarantee later release or asset
|
||||
writes. Local artifact size and digest checks follow preflight and still finish
|
||||
before hosted writes.
|
||||
|
||||
Credential loading runs only for `deliver` and `ci-deliver`. `check`, `publish`,
|
||||
and `build` do not read the token file or require a token. The CLI passes the
|
||||
resolved value explicitly to the library operation. Selecting a token file and
|
||||
selecting the optional forbidden-file validator are independent settings.
|
||||
resolved value explicitly to the library operation. `ci-deliver` checks the
|
||||
destination before downloading application dependencies for a binary build;
|
||||
the later delivery performs a fresh check. Page-only CI relies on delivery's
|
||||
automatic check. Selecting a token file and selecting the optional
|
||||
forbidden-file validator are independent settings.
|
||||
|
||||
`expected_push_url`, when nonempty, is compared exactly with Git's resolved
|
||||
effective push URL during `publish`, before candidate validation. It applies
|
||||
|
||||
Reference in New Issue
Block a user