diff --git a/apps/server/src/pullRequest/GiteaPullRequestApi.test.ts b/apps/server/src/pullRequest/GiteaPullRequestApi.test.ts index 2cd4b76f1df5..2967f4b534d7 100644 --- a/apps/server/src/pullRequest/GiteaPullRequestApi.test.ts +++ b/apps/server/src/pullRequest/GiteaPullRequestApi.test.ts @@ -1192,6 +1192,26 @@ layer("GiteaPullRequestApi", (it) => { }), ); + it.effect("maps native warning statuses to failing checks", () => + Effect.gen(function* () { + mockedRequest.mockReturnValueOnce( + Effect.succeed( + response({ + total_count: 1, + statuses: [{ context: "scan", status: "warning", updated_at: "2026-09-03T11:00:00Z" }], + }), + ), + ); + const api = yield* GiteaPullRequestApi.make; + const checks = yield* api.listChecks({ + host: "forge.example.test", + repository: "acme/web", + sha: "head-sha", + }); + expect(checks).toEqual([expect.objectContaining({ name: "scan", status: "failure" })]); + }), + ); + it.effect("does not request commit statuses without a head revision", () => Effect.gen(function* () { const api = yield* GiteaPullRequestApi.make; diff --git a/apps/server/src/pullRequest/GiteaPullRequestApi.ts b/apps/server/src/pullRequest/GiteaPullRequestApi.ts index a2091367d57a..9efcc25cee36 100644 --- a/apps/server/src/pullRequest/GiteaPullRequestApi.ts +++ b/apps/server/src/pullRequest/GiteaPullRequestApi.ts @@ -1458,7 +1458,7 @@ export const make = Effect.gen(function* () { ? "success" : state === "pending" ? "pending" - : state === "failure" || state === "error" + : state === "failure" || state === "error" || state === "warning" ? "failure" : state === "skipped" ? "skipped"