
🚀 Breaking Changes: - Updated merge request functionality with new options - Improved handling of assignee usernames in issue listings 📝 Details: - Added support for `remove_source_branch` and `squash` options for merge requests - Fixed issue with assignee username handling in issue listing - Generated RELEASE_NOTES.md from CHANGELOG.md
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Extract version from package.json
|
|
VERSION=$(jq -r .version package.json)
|
|
|
|
if [ -z "$VERSION" ]; then
|
|
echo "Could not read version from package.json."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if release notes file exists
|
|
if [ ! -f RELEASE_NOTES.md ]; then
|
|
echo "RELEASE_NOTES.md file does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
# Generate RELEASE_NOTES.md from CHANGELOG.md for the current version
|
|
node <<'EOF'
|
|
const fs = require('fs');
|
|
const changelog = fs.readFileSync('CHANGELOG.md', 'utf8');
|
|
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
const version = pkg.version;
|
|
|
|
const regex = new RegExp(`## \\[${version.replace(/\./g, '\\.')}\\][\\s\\S]*?(?=\\n## |\\n?$)`, 'g');
|
|
const match = changelog.match(regex);
|
|
|
|
if (match && match[0]) {
|
|
fs.writeFileSync('RELEASE_NOTES.md', match[0].trim() + '\n');
|
|
console.log('RELEASE_NOTES.md generated for version', version);
|
|
} else {
|
|
console.error('No changelog entry found for version', version);
|
|
process.exit(1);
|
|
}
|
|
EOF
|
|
|
|
# Create GitHub release using CLI
|
|
gh release create "$VERSION" -t "Release $VERSION" -F RELEASE_NOTES.md |