Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:uxo2i7ava1 is past its budget: trevato/forge: "a subscription's standing > (unnamed)" failed on 3 pulls in the last hour — the lane's red, not theirs;… #4562
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/4550-sentinel-shared-01m23vygyffx5hg2f5vm8r74 → main 3 commits fork 1 thread · 1 unresolved
1 file
changed +9
−7
test/standing.test.ts +9 −7
| @@ -8,9 +8,8 @@ import { afterAll, beforeAll, describe, expect, test } from "bun:test"; | ||
| 8 | 8 | import { mkdtemp, rm } from "node:fs/promises"; |
| 9 | 9 | import { tmpdir } from "node:os"; |
| 10 | 10 | import { join } from "node:path"; |
| 11 | import { createRepo } from "../src/actions/repos.ts"; | |
| 12 | 11 | import { createApp, type App } from "../src/app.ts"; |
| 13 | import type { Repo } from "../src/core/repos.ts"; | |
| 12 | import { getRepoById, type Repo } from "../src/core/repos.ts"; | |
| 14 | 13 | import { createRun } from "../src/core/runs.ts"; |
| 15 | 14 | import { |
| 16 | 15 | getHeadroom, |
| @@ -78,11 +77,14 @@ describe("a subscription's standing", () => { | ||
| 78 | 77 | adminIfFirst: true, |
| 79 | 78 | }); |
| 80 | 79 | if (!a.ok) throw new Error(a.error); |
| 81 | const made = await createRepo(app, a.value, { name: "one", visibility: "private" }); | |
| 82 | if (!made.ok) throw new Error("repo"); | |
| 83 | repo = made.value; | |
| 84 | // No password: argon2 hashing (64 MiB, a core) made this hook's verdict | |
| 85 | // depend on the check machine's load, and nothing here signs in. | |
| 80 | // A bare row: runs only need a repo id, and git init (a child process) | |
| 81 | // and argon2 hashing made this hook's verdict depend on the check | |
| 82 | // machine's load. Nothing here clones or signs in. | |
| 83 | const repoId = "standing-repo"; | |
| 84 | app.db | |
| 85 | .query("INSERT INTO repo (id, owner_id, name, visibility, description, default_branch) VALUES (?1, ?2, 'one', 'private', '', 'main')") | |
| 86 | .run(repoId, a.value.id); | |
| 87 | repo = getRepoById(app.db, repoId)!; | |
| 86 | 88 | }, 60_000); |
| 87 | 89 | afterAll(async () => { |
| 88 | 90 | app.close(); |
new above
offline
Hard-coded column list will break silently if the repo table gains a NOT NULL column; a shared test helper next to createRepo would keep one place to update.