getCommitDiff function.
Testing / prettier (push) Failing after 2m17s
Testing / unit-test (20.x) (push) Failing after 3m45s
Testing / e2e-test (20.x) (push) Failing after 5m13s

This commit is contained in:
2026-01-04 13:20:10 -05:00
parent df41cb291a
commit 8a8989e92a
2 changed files with 55 additions and 36 deletions
+25 -18
View File
@@ -90186,8 +90186,9 @@ var giteaClient;
if (PLATFORM === "gitea" || PLATFORM === "forgejo") { if (PLATFORM === "gitea" || PLATFORM === "forgejo") {
try { try {
const GiteaClient = (init_dist_bundle7(), __toCommonJS(dist_bundle_exports)).Gitea; const GiteaClient = (init_dist_bundle7(), __toCommonJS(dist_bundle_exports)).Gitea;
giteaClient = new GiteaClient(GITEA_URL, { giteaClient = new GiteaClient({
token: GITHUB_TOKEN baseUrl: GITEA_URL,
auth: GITHUB_TOKEN
}); });
} catch (error2) { } catch (error2) {
core.error(`Failed to import Gitea client: ${error2}`); core.error(`Failed to import Gitea client: ${error2}`);
@@ -90202,27 +90203,33 @@ var repo = context2.repo.repo;
async function getCommitDiff(commitSha) { async function getCommitDiff(commitSha) {
if (PLATFORM === "gitea" || PLATFORM === "forgejo") { if (PLATFORM === "gitea" || PLATFORM === "forgejo") {
try { try {
const commit = await giteaClient.getCommit(owner, repo, commitSha); const diffResponse2 = await giteaClient.repository.repoDownloadCommitDiffOrPatch({
const diffResponse = await giteaClient.getRepoCommitDiff(owner, repo, commitSha); owner,
return { sha: commitSha, diff: diffResponse.data }; repo,
sha: commitSha,
diffType: "diff"
});
return {
sha: commitSha,
diff: diffResponse2.data
};
} catch (error2) { } catch (error2) {
core.error(`Failed to fetch Gitea/Forgejo commit diff: ${error2}`); core.error(`Failed to fetch Gitea/Forgejo commit diff: ${error2}`);
throw error2; throw error2;
} }
} else {
const diffResponse = await octokit.request(
"GET /repos/{owner}/{repo}/commits/{ref}",
{
owner,
repo,
ref: commitSha,
headers: {
Accept: "application/vnd.github.v3.diff"
}
}
);
return { sha: commitSha, diff: diffResponse.data };
} }
const diffResponse = await octokit.request(
"GET /repos/{owner}/{repo}/commits/{ref}",
{
owner,
repo,
ref: commitSha,
headers: {
Accept: "application/vnd.github.v3.diff"
}
}
);
return { sha: commitSha, diff: diffResponse.data };
} }
async function improveMessagesInChunks(diffsAndSHAs) { async function improveMessagesInChunks(diffsAndSHAs) {
const chunkSize = diffsAndSHAs.length % 2 === 0 ? 4 : 3; const chunkSize = diffsAndSHAs.length % 2 === 0 ? 4 : 3;
+30 -18
View File
@@ -19,8 +19,9 @@ if (PLATFORM === 'gitea' || PLATFORM === 'forgejo') {
// Dynamically import the Gitea client // Dynamically import the Gitea client
try { try {
const GiteaClient = require('@go-gitea/sdk.js').Gitea; const GiteaClient = require('@go-gitea/sdk.js').Gitea;
giteaClient = new GiteaClient(GITEA_URL, { giteaClient = new GiteaClient({
token: GITHUB_TOKEN baseUrl: GITEA_URL,
auth: GITHUB_TOKEN,
}); });
} catch (error) { } catch (error) {
core.error(`Failed to import Gitea client: ${error}`); core.error(`Failed to import Gitea client: ${error}`);
@@ -40,27 +41,38 @@ type Diff = string;
async function getCommitDiff(commitSha: string): Promise<{ sha: SHA; diff: Diff }> { async function getCommitDiff(commitSha: string): Promise<{ sha: SHA; diff: Diff }> {
if (PLATFORM === 'gitea' || PLATFORM === 'forgejo') { if (PLATFORM === 'gitea' || PLATFORM === 'forgejo') {
try { try {
const commit = await giteaClient.getCommit(owner, repo, commitSha); const diffResponse =
const diffResponse = await giteaClient.getRepoCommitDiff(owner, repo, commitSha); await giteaClient.repository.repoDownloadCommitDiffOrPatch({
return { sha: commitSha, diff: diffResponse.data }; owner,
repo,
sha: commitSha,
diffType: 'diff',
});
return {
sha: commitSha,
diff: diffResponse.data,
};
} catch (error) { } catch (error) {
core.error(`Failed to fetch Gitea/Forgejo commit diff: ${error}`); core.error(`Failed to fetch Gitea/Forgejo commit diff: ${error}`);
throw error; throw error;
} }
} else {
const diffResponse = await octokit.request<string>(
'GET /repos/{owner}/{repo}/commits/{ref}',
{
owner,
repo,
ref: commitSha,
headers: {
Accept: 'application/vnd.github.v3.diff'
}
}
);
return { sha: commitSha, diff: diffResponse.data };
} }
// GitHub fallback remains correct
const diffResponse = await octokit.request<string>(
'GET /repos/{owner}/{repo}/commits/{ref}',
{
owner,
repo,
ref: commitSha,
headers: {
Accept: 'application/vnd.github.v3.diff',
},
}
);
return { sha: commitSha, diff: diffResponse.data };
} }
interface DiffAndSHA { interface DiffAndSHA {