Skip to content

Commit db980e7

Browse files
committed
update make_latest type
Signed-off-by: Rui Chen <[email protected]>
1 parent c234ec8 commit db980e7

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

src/github.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export interface Releaser {
4444
target_commitish: string | undefined;
4545
discussion_category_name: string | undefined;
4646
generate_release_notes: boolean | undefined;
47-
make_latest: string | undefined;
47+
make_latest: "true" | "false" | "legacy" | undefined;
4848
}): Promise<{ data: Release }>;
4949

5050
updateRelease(params: {
@@ -59,7 +59,7 @@ export interface Releaser {
5959
prerelease: boolean | undefined;
6060
discussion_category_name: string | undefined;
6161
generate_release_notes: boolean | undefined;
62-
make_latest: string | undefined;
62+
make_latest: "true" | "false" | "legacy" | undefined;
6363
}): Promise<{ data: Release }>;
6464

6565
allReleases(params: {
@@ -93,8 +93,13 @@ export class GitHubReleaser implements Releaser {
9393
target_commitish: string | undefined;
9494
discussion_category_name: string | undefined;
9595
generate_release_notes: boolean | undefined;
96-
make_latest: string | undefined;
96+
make_latest: "true" | "false" | "legacy" | undefined;
9797
}): Promise<{ data: Release }> {
98+
99+
if (typeof params.make_latest === 'string' && !["true", "false", "legacy"].includes(params.make_latest)) {
100+
params.make_latest = undefined;
101+
}
102+
98103
return this.github.rest.repos.createRelease(params);
99104
}
100105

@@ -110,8 +115,13 @@ export class GitHubReleaser implements Releaser {
110115
prerelease: boolean | undefined;
111116
discussion_category_name: string | undefined;
112117
generate_release_notes: boolean | undefined;
113-
make_latest: string | undefined;
118+
make_latest: "true" | "false" | "legacy" | undefined;
114119
}): Promise<{ data: Release }> {
120+
121+
if (typeof params.make_latest === 'string' && !["true", "false", "legacy"].includes(params.make_latest)) {
122+
params.make_latest = undefined;
123+
}
124+
115125
return this.github.rest.repos.updateRelease(params);
116126
}
117127

src/util.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface Config {
1919
input_discussion_category_name?: string;
2020
input_generate_release_notes?: boolean;
2121
input_append_body?: boolean;
22-
input_make_latest: string | undefined;
22+
input_make_latest: "true" | "false" | "legacy" | undefined;
2323
}
2424

2525
export const uploadUrl = (url: string): string => {
@@ -71,12 +71,19 @@ export const parseConfig = (env: Env): Config => {
7171
env.INPUT_DISCUSSION_CATEGORY_NAME || undefined,
7272
input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == "true",
7373
input_append_body: env.INPUT_APPEND_BODY == "true",
74-
input_make_latest: env.INPUT_MAKE_LATEST
75-
? env.INPUT_MAKE_LATEST
76-
: undefined,
74+
input_make_latest: parseMakeLatest(env.INPUT_MAKE_LATEST),
7775
};
7876
};
7977

78+
const parseMakeLatest = (
79+
value: string | undefined
80+
): "true" | "false" | "legacy" | undefined => {
81+
if (value === "true" || value === "false" || value === "legacy") {
82+
return value;
83+
}
84+
return undefined;
85+
}
86+
8087
export const paths = (patterns: string[]): string[] => {
8188
return patterns.reduce((acc: string[], pattern: string): string[] => {
8289
return acc.concat(

0 commit comments

Comments
 (0)