Re-vendor the contract at Forgejo 17.0.0 #8
Loading…
Reference in a new issue
No description provided.
Delete branch "revendor-forgejo-17"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What changes. rasterhub.com now runs
17.0.0+gitea-1.22.0; the vendored spec was pinned at16.0.3. The three spec files aremake fetch+make regenerateagainst the live swagger, nothing hand-written. README and GAPS.md now state 17.0.0 as the vendored version, and GAPS.md gains entry 10 for the job log format switch.No path, operation or schema was removed, and no schema gained a required field. Six operations are new:
Two new schemas,
ActionRunJobStepandIssueLockOption.ActionRunJobgainshtml_urlandsteps.Existing operations that moved:
GET actions/jobs/{job_id}/logsgainsstep,q,qiandformatquery parameters and a second response media type,application/x-ndjson.verificationandfilesquery parameters. Team memberPUTgains a 409.EditDeadlineOption.due_dateandCreateUserOption.emailare no longer required.MigrateRepoOptions.servicegainsbitbucketdc.x-deprecated: true.versionFloorstays at7.0.0. 17.0.0 is a capability ceiling a consumer detects at runtime, not a new floor.Evidence. Probed on rasterhub.com at 17.0.0 on 2026-10-16.
GET actions/jobs/104670on rasterstate/fjord-ios returns 200 withsteps[](number,name,status,started,stopped),html_urlandattempt.GET /user/actions/secretsreturns 200. Run rerun answers 204 once a run has finished and 400 before that; job rerun reruns the job and every job that depends on it. Job logs returntext/plainwhatever theAcceptorder andapplication/x-ndjsononly underformat=ndjson(GAPS.md entry 10). None of these paths are in the 16.0.3 spec this replaces, which is the evidence a consumer's capability table needs for them.make checkpasses locally.This is not a no-op for a consumer that generates exhaustive Swift enums. The second log media type and the new dispatch 400 each add a case to a generated response enum, so Fjord needs three small
switchchanges when it moves its submodule pointer. Those land with the pointer bump in fjord-ios, not here.Not verified.
PUTandDELETE issues/{index}/lockwere not exercised for this PR, since both mutate a live issue. fj does not generate from this contract yet, so nothing was checked on its side.**What changes.** rasterhub.com now runs `17.0.0+gitea-1.22.0`; the vendored spec was pinned at `16.0.3`. The three spec files are `make fetch` + `make regenerate` against the live swagger, nothing hand-written. README and GAPS.md now state 17.0.0 as the vendored version, and GAPS.md gains entry 10 for the job log format switch. No path, operation or schema was removed, and no schema gained a required field. Six operations are new: ``` GET /repos/{owner}/{repo}/actions/jobs/{job_id} POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun PUT /repos/{owner}/{repo}/issues/{index}/lock DELETE /repos/{owner}/{repo}/issues/{index}/lock GET /user/actions/secrets ``` Two new schemas, `ActionRunJobStep` and `IssueLockOption`. `ActionRunJob` gains `html_url` and `steps`. Existing operations that moved: - `GET actions/jobs/{job_id}/logs` gains `step`, `q`, `qi` and `format` query parameters and a second response media type, `application/x-ndjson`. - Workflow dispatch gains a documented 400. Compare gains `verification` and `files` query parameters. Team member `PUT` gains a 409. - `EditDeadlineOption.due_date` and `CreateUserOption.email` are no longer required. `MigrateRepoOptions.service` gains `bitbucketdc`. - Some "Deprecated" prose in descriptions became `x-deprecated: true`. `versionFloor` stays at `7.0.0`. 17.0.0 is a capability ceiling a consumer detects at runtime, not a new floor. **Evidence.** Probed on rasterhub.com at 17.0.0 on 2026-10-16. `GET actions/jobs/104670` on rasterstate/fjord-ios returns 200 with `steps[]` (`number`, `name`, `status`, `started`, `stopped`), `html_url` and `attempt`. `GET /user/actions/secrets` returns 200. Run rerun answers 204 once a run has finished and 400 before that; job rerun reruns the job and every job that depends on it. Job logs return `text/plain` whatever the `Accept` order and `application/x-ndjson` only under `format=ndjson` (GAPS.md entry 10). None of these paths are in the 16.0.3 spec this replaces, which is the evidence a consumer's capability table needs for them. `make check` passes locally. This is not a no-op for a consumer that generates exhaustive Swift enums. The second log media type and the new dispatch 400 each add a case to a generated response enum, so Fjord needs three small `switch` changes when it moves its submodule pointer. Those land with the pointer bump in fjord-ios, not here. **Not verified.** `PUT` and `DELETE issues/{index}/lock` were not exercised for this PR, since both mutate a live issue. fj does not generate from this contract yet, so nothing was checked on its side.