diff --git a/lib/main.js b/lib/main.js index 445cdd8..57ceeb4 100644 --- a/lib/main.js +++ b/lib/main.js @@ -20,7 +20,7 @@ const core = __importStar(require("@actions/core")); const github = __importStar(require("@actions/github")); const path = __importStar(require("path")); const glob = require("glob"); -function get_release_by_tag(tag, octokit, context) { +function get_release_by_tag(tag, octokit, context, draft) { return __awaiter(this, void 0, void 0, function* () { try { core.debug(`Getting release by tag ${tag}.`); @@ -30,7 +30,7 @@ function get_release_by_tag(tag, octokit, context) { // If this returns 404, we need to create the release first. if (error.status === 404) { core.debug(`Release for tag ${tag} doesn't exist yet so we'll create it now.`); - return yield octokit.repos.createRelease(Object.assign({}, context.repo, { tag_name: tag })); + return yield octokit.repos.createRelease(Object.assign({}, context.repo, { tag_name: tag, draft })); } else { throw error; @@ -83,16 +83,17 @@ function run() { const file_glob = core.getInput('file_glob'); const tag = core.getInput('tag', { required: true }).replace("refs/tags/", ""); const overwrite = core.getInput('overwrite'); + const draft = core.getInput('draft'); const octokit = new github.GitHub(token); const context = github.context; - const release = yield get_release_by_tag(tag, octokit, context); + const release = yield get_release_by_tag(tag, octokit, context, draft === "true"); if (file_glob === "true") { const files = glob.sync(file); if (files.length > 0) { for (let i = 0; i < files.length; i += 1) { - const file = files[i]; - const asset_name = path.basename(file); - yield upload_to_release(release, file, asset_name, tag, overwrite, octokit, context); + const item = files[i]; + const asset_name = path.basename(item); + yield upload_to_release(release, item, asset_name, tag, overwrite, octokit, context); } } else { diff --git a/src/main.ts b/src/main.ts index 40f65e5..19b739f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import * as path from 'path'; const glob = require("glob") -async function get_release_by_tag(tag: string, octokit: any, context: any): Promise { +async function get_release_by_tag(tag: string, octokit: any, context: any, draft: boolean): Promise { try { core.debug(`Getting release by tag ${tag}.`); return await octokit.repos.getReleaseByTag({ @@ -19,6 +19,7 @@ async function get_release_by_tag(tag: string, octokit: any, context: any): Prom return await octokit.repos.createRelease({ ...context.repo, tag_name: tag, + draft, }) } else { throw error; @@ -75,18 +76,19 @@ async function run() { const file_glob = core.getInput('file_glob'); const tag = core.getInput('tag', { required: true }).replace("refs/tags/", ""); const overwrite = core.getInput('overwrite'); + const draft = core.getInput('draft'); const octokit = new github.GitHub(token); const context = github.context; - const release = await get_release_by_tag(tag, octokit, context); + const release = await get_release_by_tag(tag, octokit, context, draft === "true"); if (file_glob === "true") { const files = glob.sync(file); if (files.length > 0) { for (let i = 0; i < files.length; i += 1) { - const file = files[i]; - const asset_name = path.basename(file); - await upload_to_release(release, file, asset_name, tag, overwrite, octokit, context); + const item = files[i]; + const asset_name = path.basename(item); + await upload_to_release(release, item, asset_name, tag, overwrite, octokit, context); } } else {