mirror of https://github.com/keeweb/keeweb.git
46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const core = require('@actions/core');
|
|
const { GitHub, context } = require('@actions/github');
|
|
|
|
async function run() {
|
|
try {
|
|
const github = new GitHub(process.env.GITHUB_TOKEN);
|
|
|
|
const { owner, repo } = context.repo;
|
|
|
|
const version = core.getInput('version', { required: false });
|
|
const draft = false;
|
|
const release_id = core.getInput('release_id', { required: false });
|
|
|
|
const releaseNotesPath = path.join(__dirname, '../../../../release-notes.md');
|
|
const releaseNotes = fs.readFileSync(releaseNotesPath, 'utf8');
|
|
const regex = new RegExp(
|
|
`#####\\s+v${version.replace(/\./g, '\\.')}.*?\n([\\s\\S]*?)\n#####`
|
|
);
|
|
|
|
const bodyReleaseNotes = releaseNotes.match(regex)[1].trim().replace(/\s*\n/g, '\n');
|
|
|
|
const bodyTemplate =
|
|
'{release_notes}\n\n' +
|
|
'Want to keep releases happening? ' +
|
|
'Donate to KeeWeb on [OpenCollective](https://opencollective.com/keeweb) or [GitHub](https://github.com/sponsors/keeweb). ' +
|
|
'Thank you!';
|
|
const body = bodyTemplate.replace('{release_notes}', bodyReleaseNotes);
|
|
|
|
console.log(`Updating release with notes:\n${body}`);
|
|
|
|
await github.repos.updateRelease({
|
|
owner,
|
|
repo,
|
|
release_id,
|
|
body,
|
|
draft
|
|
});
|
|
} catch (error) {
|
|
core.setFailed(error.message);
|
|
}
|
|
}
|
|
|
|
run();
|