Support auto generating release notes (#179)

This commit is contained in:
Brian Surowiec
2021-11-07 17:06:35 -05:00
committed by GitHub
parent 69a9b03fd9
commit 0465cdad11
5 changed files with 59 additions and 12 deletions

View File

@ -44,6 +44,7 @@ export interface Releaser {
prerelease: boolean | undefined;
target_commitish: string | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
}): Promise<{ data: Release }>;
updateRelease(params: {
@ -57,6 +58,7 @@ export interface Releaser {
draft: boolean | undefined;
prerelease: boolean | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
}): Promise<{ data: Release }>;
allReleases(params: {
@ -89,6 +91,7 @@ export class GitHubReleaser implements Releaser {
prerelease: boolean | undefined;
target_commitish: string | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
}): Promise<{ data: Release }> {
return this.github.rest.repos.createRelease(params);
}
@ -104,6 +107,7 @@ export class GitHubReleaser implements Releaser {
draft: boolean | undefined;
prerelease: boolean | undefined;
discussion_category_name: string | undefined;
generate_release_notes: boolean | undefined;
}): Promise<{ data: Release }> {
return this.github.rest.repos.updateRelease(params);
}
@ -193,6 +197,7 @@ export const release = async (
: "");
const discussion_category_name = config.input_discussion_category_name;
const generate_release_notes = config.input_generate_release_notes;
try {
// you can't get a an existing draft by tag
// so we must find one in the list of all releases
@ -254,7 +259,8 @@ export const release = async (
body,
draft,
prerelease,
discussion_category_name
discussion_category_name,
generate_release_notes
});
return release.data;
} catch (error) {
@ -282,7 +288,8 @@ export const release = async (
draft,
prerelease,
target_commitish,
discussion_category_name
discussion_category_name,
generate_release_notes
});
return release.data;
} catch (error) {

View File

@ -17,6 +17,7 @@ export interface Config {
input_fail_on_unmatched_files?: boolean;
input_target_commitish?: string;
input_discussion_category_name?: string;
input_generate_release_notes?: boolean;
}
export const uploadUrl = (url: string): string => {
@ -65,7 +66,8 @@ export const parseConfig = (env: Env): Config => {
input_fail_on_unmatched_files: env.INPUT_FAIL_ON_UNMATCHED_FILES == "true",
input_target_commitish: env.INPUT_TARGET_COMMITISH || undefined,
input_discussion_category_name:
env.INPUT_DISCUSSION_CATEGORY_NAME || undefined
env.INPUT_DISCUSSION_CATEGORY_NAME || undefined,
input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == "true"
};
};