This commit is contained in:
Daan Schouteden
2026-06-02 11:39:41 +02:00
commit 3d0e28f427
27 changed files with 3426 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
import { loadEnv } from "../src/config/env.js";
import { DedupeStore } from "../src/domain/dedupe-store.js";
import { runReview } from "../src/run/review-runner.js";
import { RoutedEvent } from "../src/types/events.js";
async function main(): Promise<void> {
const [owner, repo, prRaw, headSha = "dry-run-sha"] = process.argv.slice(2);
if (!owner || !repo || !prRaw) {
throw new Error("Usage: npm run dry-run -- <owner> <repo> <pr_number> [head_sha]");
}
const prNumber = Number(prRaw);
if (Number.isNaN(prNumber)) {
throw new Error("pr_number must be a number");
}
const env = loadEnv();
const event: RoutedEvent = {
kind: "review_requested",
payload: {
action: "review_requested",
pull_request: {
number: prNumber,
title: "dry run",
body: "",
head: { sha: headSha, ref: "dry-run-head" },
base: { ref: env.DEFAULT_BASE_BRANCH },
labels: []
},
repository: {
owner: { login: owner },
name: repo,
full_name: `${owner}/${repo}`
},
requested_reviewer: { login: env.GITEA_BOT_LOGIN }
}
};
const dedupe = new DedupeStore(env.DEDUPE_TTL_SECONDS);
const outcome = await runReview({
env,
event,
dedupe,
correlationId: "dry-run"
});
console.log(`dry-run outcome: ${outcome}`);
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});