Skip to content

Commit

Permalink
feat: 현재 있는 브랜치의 가장 최신 커밋과 main의 최신커밋을 비교하여 변경점을 요약하는 함수 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
choisohyun committed Oct 5, 2024
1 parent 5dac108 commit fde35bb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
5 changes: 4 additions & 1 deletion packages/analysis-engine/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { buildCSMDict } from "./csm";
import getCommitRaws from "./parser";
import { PluginOctokit } from "./pluginOctokit";
import { buildStemDict } from "./stem";
import { getCurrentUserCommitSummary, getLatestCommitSummary } from "./summary";
import { getCurrentUserCommitSummary, getDiffSummary, getLatestCommitSummary } from "./summary";

type AnalysisEngineArgs = {
isDebugMode?: boolean;
Expand Down Expand Up @@ -81,6 +81,9 @@ export class AnalysisEngine {
const currentUserCommitSummary = await getCurrentUserCommitSummary(stemDict, this.baseBranchName, this.octokit);
if (this.isDebugMode) console.log("currentUserCommitSummary: ", currentUserCommitSummary);

const diffSummary = await getDiffSummary(stemDict, this.baseBranchName);
if (this.isDebugMode) console.log("diffSummary: ", diffSummary);

return {
isPRSuccess,
csmDict,
Expand Down
24 changes: 24 additions & 0 deletions packages/analysis-engine/src/summary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,30 @@ export async function getCurrentUserCommitSummary(stemDict: StemDict, baseBranch
return await getSummary(currentUserNodes ? currentUserNodes?.slice(-10) : []);
}

export async function getDiffSummary(stemDict: StemDict, baseBranchName: string) {
const mainNodes = stemDict.get("main")?.nodes;
const currentNodes = stemDict.get(baseBranchName)?.nodes;

if (!mainNodes || !currentNodes) {
return "";
}

const mainCommit = mainNodes.slice(-1)[0].commit;
const currentCommit = currentNodes.slice(-1)[0].commit;

const mainCommitMessage = mainCommit.message.split("\n")[0];
const currentCommitMessage = currentCommit.message.split("\n")[0];

if (mainCommitMessage === currentCommitMessage) {
return "No changes";
}

const mainCommitSummary = await getSummary([mainCommit]);
const currentCommitSummary = await getSummary([currentCommit]);

return `main: ${mainCommitSummary}\n${baseBranchName}: ${currentCommitSummary}`;
}

const prompt = `Proceed with the task of summarising the contents of the commit message provided.
Procedure:
Expand Down

0 comments on commit fde35bb

Please sign in to comment.