Add support for make_latest property (#304)

* Add make_latest, remove dubious dist asset

* Apparently make_latest is a string.

* Keep default behaviour the same by defaulting to true for make_latest.

* Update config tests and README

* Rebuild the code.

* Revert change removing commented code.

* Change default behaviour to undefined for make_latest

* Update input documentation.

* Rebuild for code changes

---------

Co-authored-by: Doug Tangren <d.tangren@gmail.com>
This commit is contained in:
Sam Seay 2024-03-09 05:28:39 +08:00 committed by GitHub
parent 762fe13dfb
commit 0bea76b227
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 55 additions and 459 deletions

View file

@ -44,6 +44,7 @@ export interface Releaser {
target_commitish: string | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
make_latest: string | undefined;
}): Promise<{ data: Release }>;
updateRelease(params: {
@ -58,6 +59,7 @@ export interface Releaser {
prerelease: boolean | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
make_latest: string | undefined;
}): Promise<{ data: Release }>;
allReleases(params: {
@ -91,6 +93,7 @@ export class GitHubReleaser implements Releaser {
target_commitish: string | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
make_latest: string | undefined;
}): Promise<{ data: Release }> {
return this.github.rest.repos.createRelease(params);
}
@ -107,6 +110,7 @@ export class GitHubReleaser implements Releaser {
prerelease: boolean | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
make_latest: string | undefined;
}): Promise<{ data: Release }> {
return this.github.rest.repos.updateRelease(params);
}
@ -256,6 +260,8 @@ export const release = async (
? config.input_prerelease
: existingRelease.data.prerelease;
const make_latest = config.input_make_latest;
const release = await releaser.updateRelease({
owner,
repo,
@ -268,6 +274,7 @@ export const release = async (
prerelease,
discussion_category_name,
generate_release_notes,
make_latest
});
return release.data;
} catch (error) {
@ -278,6 +285,7 @@ export const release = async (
const draft = config.input_draft;
const prerelease = config.input_prerelease;
const target_commitish = config.input_target_commitish;
const make_latest = config.input_make_latest;
let commitMessage: string = "";
if (target_commitish) {
commitMessage = ` using commit "${target_commitish}"`;
@ -297,6 +305,7 @@ export const release = async (
target_commitish,
discussion_category_name,
generate_release_notes,
make_latest
});
return release.data;
} catch (error) {

View file

@ -19,6 +19,7 @@ export interface Config {
input_discussion_category_name?: string;
input_generate_release_notes?: boolean;
input_append_body?: boolean;
input_make_latest: string | undefined;
}
export const uploadUrl = (url: string): string => {
@ -70,6 +71,7 @@ export const parseConfig = (env: Env): Config => {
env.INPUT_DISCUSSION_CATEGORY_NAME || undefined,
input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == "true",
input_append_body: env.INPUT_APPEND_BODY == "true",
input_make_latest: env.INPUT_MAKE_LATEST ? env.INPUT_MAKE_LATEST : undefined,
};
};