uzura/.github/scripts/release.cjs

29 lines
926 B
JavaScript
Raw Normal View History

2022-09-24 19:20:53 +09:00
// @ts-check
const fs = require("node:fs/promises");
const crypto = require("node:crypto");
/** actions/github-script でのリリース成果物のアップロード */
module.exports = async function ({ image, version, github, context }) {
const { data: release } = await github.rest.repos.createRelease({
...context.repo,
tag_name: `v${version.replace(/^v/i, "")}`,
prerelease: true,
generate_release_notes: true,
});
const target = {
...context.repo,
release_id: release.id,
};
const name = `uzura-${version}-amd64.img.gz`;
const data = await fs.readFile(image);
await github.rest.repos.uploadReleaseAsset({ ...target, name, data });
const hash = crypto.createHash("sha256").update(data).digest("hex");
const body = `${release.body}
## USB Flash Drive Image
- ${name} (SHA256: \`${hash}\`)
`;
await github.rest.repos.updateRelease({ ...target, body, prerelease: false });
};