Add the deterministic, idempotent seed that brings a freshly provisioned throwaway repository to a known ground truth before a trial runs, scripted over the live Gitea API. - bench/seed-plan.ts: the pure ground truth (fixed labels, an issue spread across the discriminating dimensions, and labelled/reviewed/real-branch pull requests) plus groundTruth(user), realizing it into a RepoState. - bench/seed.ts: idempotent seeding reconciled by natural key, reusing gitea-axi's own tea-login credential discovery (no new secret handling). - A live smoke tier (test:bench:smoke) validating the seed end-to-end and skipping cleanly when no host is configured, kept out of the deterministic bench tier. Export selectLogin from src/context.ts so the bench reuses the exact credential-selection path.
18 lines
767 B
TypeScript
18 lines
767 B
TypeScript
import { defineConfig } from "vitest/config";
|
|
|
|
export default defineConfig({
|
|
test: {
|
|
// The seed smoke tier: a single live end-to-end validation that provisioning
|
|
// and seeding a throwaway repository really brings it to the ground truth,
|
|
// and that re-seeding is idempotent. Like the e2e tier, it targets a live
|
|
// host — here the maintainer's own, discovered through gitea-axi's tea-login
|
|
// credential path — and skips cleanly when none is configured
|
|
// (GITEA_AXI_BENCH_LOGIN unset), which must count as a pass, not "no tests
|
|
// found". It is deliberately kept out of the deterministic bench tier.
|
|
include: ["bench/**/*.smoke.test.ts"],
|
|
testTimeout: 60_000,
|
|
hookTimeout: 180_000,
|
|
passWithNoTests: true,
|
|
},
|
|
});
|