Init
This commit is contained in:
@@ -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;
|
||||
});
|
||||
Reference in New Issue
Block a user