1
0
mirror of https://github.com/community-scripts/ProxmoxVE.git synced 2025-04-19 16:28:07 +00:00

Update changelog-pr.yml

This commit is contained in:
CanbiZ 2025-03-24 12:35:31 +01:00 committed by GitHub
parent 37b7894504
commit 4fd8e265f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -97,71 +97,60 @@ jobs:
per_page: 100, per_page: 100,
}); });
pulls.filter(pr => const filteredPRs = pulls.filter(pr =>
pr.merged_at && pr.merged_at &&
new Date(pr.merged_at) > latestDateInChangelog && new Date(pr.merged_at) > latestDateInChangelog &&
!pr.labels.some(label => !pr.labels.some(label =>
["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase()) ["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase())
) )
).forEach(pr => { );
const prLabels = pr.labels.map(label => label.name.toLowerCase()); for (const pr of filteredPRs) { // ✅ for...of unterstützt await
if (pr.user.login === "push-app-to-main") { const prLabels = pr.labels.map(label => label.name.toLowerCase());
const scriptName = pr.title;
if (scriptName) { let prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
try {
const { data: relatedIssues } = await github.rest.issues.listForRepo({ if (pr.user.login === "push-app-to-main") {
owner: context.repo.owner, const scriptName = pr.title;
repo: "ProxmoxVED", if (scriptName) {
state: "all", try {
label: "Started Migration To ProxmoxVE", const { data: relatedIssues } = await github.rest.issues.listForRepo({
per_page: 5 owner: context.repo.owner,
}); repo: "ProxmoxVED",
const matchingIssue = relatedIssues.find(issue => state: "all",
issue.title.toLowerCase().includes(scriptName.toLowerCase()) labels: ["Started Migration To ProxmoxVE"], // "label" -> "labels"
); per_page: 5
if (matchingIssue) { });
const issueAuthor = matchingIssue.user.login; const matchingIssue = relatedIssues.find(issue =>
const issueAuthorUrl = `https://github.com/${issueAuthor}`; issue.title.toLowerCase().includes(scriptName.toLowerCase())
const prNote = `- ${pr.title} [@${issueAuthor}](${issueAuthorUrl}) ([#${pr.number}](${pr.html_url}))`; );
} else { if (matchingIssue) {
const prNote = `- ${pr.title} ([#${pr.number}](${pr.html_url}))`; const issueAuthor = matchingIssue.user.login;
} const issueAuthorUrl = `https://github.com/${issueAuthor}`;
} catch (error) { prNote = `- ${pr.title} [@${issueAuthor}](${issueAuthorUrl}) ([#${pr.number}](${pr.html_url}))`;
console.error(`Error fetching related issues: ${error}`);
const prNote = `- ${pr.title} ([#${pr.number}](${pr.html_url}))`;
} }
} else { } catch (error) {
const prNote = `- ${pr.title} ([#${pr.number}](${pr.html_url}))`; console.error(`Error fetching related issues: ${error}`);
}else{
const prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
}
const updateScriptsCategory = categorizedPRs.find(category =>
category.labels.some(label => prLabels.includes(label))
);
if (updateScriptsCategory) {
const subCategory = updateScriptsCategory.subCategories.find(sub =>
sub.labels.some(label => prLabels.includes(label))
);
if (subCategory) {
subCategory.notes.push(prNote);
} else {
updateScriptsCategory.notes.push(prNote);
} }
} }
}); }
console.log(JSON.stringify(categorizedPRs, null, 2)); const updateScriptsCategory = categorizedPRs.find(category =>
category.labels.some(label => prLabels.includes(label))
);
return categorizedPRs; if (updateScriptsCategory) {
const subCategory = updateScriptsCategory.subCategories.find(sub =>
sub.labels.some(label => prLabels.includes(label))
);
if (subCategory) {
subCategory.notes.push(prNote);
} else {
updateScriptsCategory.notes.push(prNote);
}
}
} }
main().catch(error => {
console.error("Error in script:", error);
});
- name: Update CHANGELOG.md - name: Update CHANGELOG.md
uses: actions/github-script@v7 uses: actions/github-script@v7
@ -184,8 +173,6 @@ jobs:
const hasMainNotes = notes.length > 0; const hasMainNotes = notes.length > 0;
const hasSubNotes = hasSubcategories && subCategories.some(sub => sub.notes && sub.notes.length > 0); const hasSubNotes = hasSubcategories && subCategories.some(sub => sub.notes && sub.notes.length > 0);
if (hasMainNotes || hasSubNotes) { if (hasMainNotes || hasSubNotes) {
newReleaseNotes += `### ${title}\n\n`; newReleaseNotes += `### ${title}\n\n`;
} }
@ -202,7 +189,6 @@ jobs:
} }
} }
} }
const changelogContent = await fs.readFile(changelogPath, 'utf-8'); const changelogContent = await fs.readFile(changelogPath, 'utf-8');
const changelogIncludesTodaysReleaseNotes = changelogContent.includes(`\n## ${today}`); const changelogIncludesTodaysReleaseNotes = changelogContent.includes(`\n## ${today}`);