UNPKG

@fantasticfiasco/expect

Version:

A Node.js library written in TypeScript providing argument validation.

63 lines (53 loc) 1.41 kB
// @ts-check const { readFileSync } = require('fs'); const { basename } = require('path'); const { Octokit } = require('@octokit/rest'); const { info } = require('./log'); /** * @param {string} githubToken * @param {string} owner * @param {string} repo * @param {string} tagName * @param {string} version */ const createRelease = async (githubToken, owner, repo, tagName, version) => { info(`github: create release from tag ${tagName}`); const octokit = new Octokit({ auth: githubToken, }); const release = await octokit.repos.createRelease({ owner, repo, tag_name: tagName, name: `Release v${version}`, body: 'TODO', draft: true, }); return { releaseId: release.data.id, }; }; /** * @param {string} githubToken * @param {string} owner * @param {string} repo * @param {number} releaseId * @param {string} assetFileName */ const uploadAsset = async (githubToken, owner, repo, releaseId, assetFileName) => { info(`github: upload asset ${assetFileName}`); const octokit = new Octokit({ auth: githubToken, }); await octokit.repos.uploadReleaseAsset({ owner, repo, release_id: releaseId, name: basename(assetFileName), data: readFileSync(assetFileName).toString(), }); }; module.exports = { createRelease, uploadAsset, };