Factorize search by draft & tag

This commit is contained in:
firelight flagboy 2023-06-14 09:09:32 +02:00 committed by Firelight Flagboy
parent 27c7640127
commit 330da87d2e
No known key found for this signature in database
GPG key ID: 68B1A0BE74D11762
2 changed files with 23 additions and 18 deletions

2
dist/index.js vendored

File diff suppressed because one or more lines are too long

View file

@ -208,45 +208,50 @@ export const release = async (
try {
// you can't get a an existing draft by tag
// so we must find one in the list of all releases
let _release: Release | undefined = undefined;
if (config.input_draft) {
for await (const response of releaser.allReleases({
owner,
repo,
})) {
let release = response.data.find((release) => release.tag_name === tag);
if (release) {
return release;
}
_release = response.data.find((release) => release.tag_name === tag);
}
} else {
_release = (
await releaser.getReleaseByTag({
owner,
repo,
tag,
})
).data;
}
let existingRelease = await releaser.getReleaseByTag({
owner,
repo,
tag,
});
let existingRelease = _release!;
console.log(
`Found release ${existingRelease.name} (with id=${existingRelease.id})`
);
const release_id = existingRelease.data.id;
const release_id = existingRelease.id;
let target_commitish: string;
if (
config.input_target_commitish &&
config.input_target_commitish !== existingRelease.data.target_commitish
config.input_target_commitish !== existingRelease.target_commitish
) {
console.log(
`Updating commit from "${existingRelease.data.target_commitish}" to "${config.input_target_commitish}"`
`Updating commit from "${existingRelease.target_commitish}" to "${config.input_target_commitish}"`
);
target_commitish = config.input_target_commitish;
} else {
target_commitish = existingRelease.data.target_commitish;
target_commitish = existingRelease.target_commitish;
}
const tag_name = tag;
const name = config.input_name || existingRelease.data.name || tag;
const name = config.input_name || existingRelease.name || tag;
// revisit: support a new body-concat-strategy input for accumulating
// body parts as a release gets updated. some users will likely want this while
// others won't previously this was duplicating content for most which
// no one wants
const workflowBody = releaseBody(config) || "";
const existingReleaseBody = existingRelease.data.body || "";
const existingReleaseBody = existingRelease.body || "";
let body: string;
if (config.input_append_body && workflowBody && existingReleaseBody) {
body = existingReleaseBody + "\n" + workflowBody;
@ -257,11 +262,11 @@ export const release = async (
const draft =
config.input_draft !== undefined
? config.input_draft
: existingRelease.data.draft;
: existingRelease.draft;
const prerelease =
config.input_prerelease !== undefined
? config.input_prerelease
: existingRelease.data.prerelease;
: existingRelease.prerelease;
const make_latest = config.input_make_latest;