update release note

This commit is contained in:
duanfuxiang
2025-01-06 19:37:16 +08:00
parent aabbd350fd
commit 971746ef6a
5 changed files with 47 additions and 25 deletions

35
.github/scripts/get-changelog.js vendored Normal file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
// Get version from command line argument
const version = process.argv[2];
if (!version) {
console.error('Please provide version as argument');
process.exit(1);
}
// Read CHANGELOG.md
const changelogPath = path.join(process.cwd(), 'CHANGELOG.md');
const content = fs.readFileSync(changelogPath, 'utf8');
// Split content into sections by h2 headers
const sections = content.split(/\n## /);
// Find the section for the specified version
const versionSection = sections.find(section => section.trim().startsWith(version));
if (!versionSection) {
console.error(`No changelog found for version ${version}`);
process.exit(1);
}
// Extract content between this version and next version
const lines = versionSection
.split('\n')
.slice(1) // Remove the version line itself
.join('\n')
.trim();
console.log(lines);

View File

@@ -37,17 +37,18 @@ jobs:
cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}
zip -r ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip ${{ env.PLUGIN_NAME }}
ls
echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)"
echo "tag_name=$(git tag --sort version:refname | tail -n 1)" >> $GITHUB_OUTPUT
- name: Get release notes
id: release_notes
run: |
CHANGELOG=$(sed -n -e "/## ${{ steps.bundle.outputs.tag_name }}/,/## /p" CHANGELOG.md | sed '/## /d')
if [ -z "$CHANGELOG" ]; then
echo "Error: No release notes found for this version in CHANGELOG.md"
exit 1
fi
echo "::set-output name=body::${CHANGELOG}"
chmod +x .github/scripts/get-changelog.js
CHANGELOG=$(node .github/scripts/get-changelog.js ${{ steps.bundle.outputs.tag_name }})
if [ -z "$CHANGELOG" ]; then
echo "Error: No release notes found for this version in CHANGELOG.md"
exit 1
fi
echo "changelog=$CHANGELOG" >> $GITHUB_OUTPUT
- name: Release
uses: softprops/action-gh-release@v1
@@ -59,4 +60,4 @@ jobs:
main.js
manifest.json
styles.css
body: ${{ steps.release_notes.outputs.body }}
body: ${{ steps.release_notes.outputs.changelog }}