allow creating draft releases without a tag (#95)

Co-authored-by: Doug Tangren <d.tangren@gmail.com>
This commit is contained in:
Daiki Mizukami 2021-07-25 23:10:03 +00:00 committed by GitHub
parent 08e53e60c8
commit 688f58f697
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View file

@ -1,5 +1,5 @@
import { GitHub } from "@actions/github"; import { GitHub } from "@actions/github";
import { Config, releaseBody } from "./util"; import { Config, isTag, releaseBody } from "./util";
import { lstatSync, readFileSync } from "fs"; import { lstatSync, readFileSync } from "fs";
import { getType } from "mime"; import { getType } from "mime";
import { basename } from "path"; import { basename } from "path";
@ -154,7 +154,10 @@ export const release = async (
const [owner, repo] = config.github_repository.split("/"); const [owner, repo] = config.github_repository.split("/");
const tag = const tag =
config.input_tag_name || config.github_ref.replace("refs/tags/", ""); config.input_tag_name ||
(isTag(config.github_ref)
? config.github_ref.replace("refs/tags/", "")
: "");
try { try {
// you can't get a an existing draft by tag // you can't get a an existing draft by tag
// so we must find one in the list of all releases // so we must find one in the list of all releases

View file

@ -7,7 +7,11 @@ import { env } from "process";
async function run() { async function run() {
try { try {
const config = parseConfig(env); const config = parseConfig(env);
if (!config.input_tag_name && !isTag(config.github_ref)) { if (
!config.input_tag_name &&
!isTag(config.github_ref) &&
!config.input_draft
) {
throw new Error(`⚠️ GitHub Releases requires a tag`); throw new Error(`⚠️ GitHub Releases requires a tag`);
} }
if (config.input_files) { if (config.input_files) {