mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-11 20:44:32 -05:00
* Remove ESLint and migrate fully to oxlint * Add release notes for PR #6584 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
78 lines
2.0 KiB
JavaScript
Executable File
78 lines
2.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import fs from 'fs';
|
|
|
|
import { Octokit } from '@octokit/rest';
|
|
|
|
const token = process.env.GITHUB_TOKEN;
|
|
const repo = process.env.GITHUB_REPOSITORY;
|
|
const issueNumber = process.env.GITHUB_EVENT_ISSUE_NUMBER;
|
|
const prDetailsJson = process.env.PR_DETAILS;
|
|
|
|
if (!token || !repo || !issueNumber || !prDetailsJson) {
|
|
console.log('Missing required environment variables');
|
|
process.exit(1);
|
|
}
|
|
|
|
const [owner, repoName] = repo.split('/');
|
|
const octokit = new Octokit({ auth: token });
|
|
|
|
function setOutput(name, value) {
|
|
fs.appendFileSync(process.env.GITHUB_OUTPUT, `${name}=${value}\n`);
|
|
}
|
|
|
|
async function checkReleaseNotesExists() {
|
|
try {
|
|
const prDetails = JSON.parse(prDetailsJson);
|
|
if (!prDetails) {
|
|
console.log('No PR details available, skipping file check');
|
|
setOutput('result', 'false');
|
|
return;
|
|
}
|
|
|
|
const fileName = `upcoming-release-notes/${prDetails.number}.md`;
|
|
|
|
// Get PR info to get head SHA
|
|
const { data: pr } = await octokit.rest.pulls.get({
|
|
owner,
|
|
repo: repoName,
|
|
pull_number: issueNumber,
|
|
});
|
|
|
|
const prHeadSha = pr.head.sha;
|
|
console.log(
|
|
`Checking for file on PR branch: ${pr.head.ref} (${prHeadSha})`,
|
|
);
|
|
|
|
// Check if file exists
|
|
try {
|
|
await octokit.rest.repos.getContent({
|
|
owner,
|
|
repo: repoName,
|
|
path: fileName,
|
|
ref: prHeadSha,
|
|
});
|
|
|
|
console.log(
|
|
`Release notes file already exists on PR branch: ${fileName}`,
|
|
);
|
|
setOutput('result', 'true');
|
|
} catch (error) {
|
|
if (error.status === 404) {
|
|
console.log(
|
|
`No existing release notes file found on PR branch: ${fileName}`,
|
|
);
|
|
setOutput('result', 'false');
|
|
} else {
|
|
console.log('Error checking file existence:', error.message);
|
|
setOutput('result', 'false');
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.log('Error in file existence check:', error.message);
|
|
setOutput('result', 'false');
|
|
}
|
|
}
|
|
|
|
checkReleaseNotesExists();
|