feat: add Forgejo and Gitea SDK client skeletons#267
Conversation
|
This change is part of the following stack:
Change managed by git-spice. |
roborev: Combined Review (
|
f1afe5a to
afbb625
Compare
roborev: Combined Review (
|
Researches Forgejo API compatibility, token scopes, Go SDK options, and local fixture needs for adding Forgejo as the third Middleman provider after GitHub and GitLab.
Expands the Forgejo provider plan to add Gitea as a sibling provider, pin separate SDKs for each, and call out Forgejo-specific Actions behavior instead of treating both APIs as identical.
Reworks the provider plan so Forgejo and Gitea use a shared gitea-like implementation for common provider behavior, keeping the concrete provider packages focused on SDK adaptation and true API divergence such as Forgejo Actions.
Adds a GitHub capability parity target for Forgejo and Gitea, including read features, mutations, workflow approval, ready-for-review gaps, and tests that keep capability flags honest.
Clarifies the read-only MVP boundary, moves GitHub-parity mutations to post-MVP work, fixes SDK base URL guidance, adds required UI e2e coverage, and documents config regression and insufficient-scope error tests.
Records that the remaining roborev jobs for earlier Forgejo and Gitea provider-plan commits were resolved by the existing follow-up spec fixes and closed.
Clarifies that Forgejo and Gitea token resolution is keyed by provider and host, with public-host defaults plus explicit platform token envs for federated and self-hosted instances.
Records the kata epic and implementation task graph for the Forgejo and Gitea provider work, including MVP sequencing and post-MVP parity tasks.
aa08bfb to
5487890
Compare
afbb625 to
a2d4236
Compare
roborev: Combined Review (
|
The Playwright image pull happens before CI job steps can run, so our retry wrapper cannot help when MCR blocks or flakes. Revert the e2e jobs to install the requested browser on the hosted runner instead of running inside the Playwright container.
5487890 to
0f40d24
Compare
a2d4236 to
36dc8ee
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
Introduces separate SDK-backed Forgejo and Gitea clients with host-scoped auth and rate-tracking hooks before shared read behavior is added.
Apply the configured foreground timeout to the SDK HTTP clients for Forgejo and Gitea, preserving rate tracking when present. This prevents stalled provider calls from hanging indefinitely.
Gitea and Forgejo SDK clients use a client-level default context when constructing HTTP requests. Wrap repository SDK calls with the caller context so canceled sync or shutdown contexts abort an in-flight lookup instead of waiting for the foreground timeout.
6a59cce to
60e788d
Compare
roborev: Combined Review (
|
Replace the Forgejo and Gitea SDK request mutex with a cancelable one-slot lock so callers do not block behind unrelated in-flight requests after their context is canceled. Move shared Forgejo/Gitea platform metadata down with the SDK skeletons so later config support can build on registered platform kinds.
roborev: Combined Review (
|
Introduces separate SDK-backed Forgejo and Gitea clients with host-scoped auth and rate-tracking hooks before shared read behavior is added.