Merge pull request #9929 from peimanja/peimanja/scaffolder-backend-publish-options

scaffolder-backend: Allow more options in publish:github action
This commit is contained in:
Patrik Oldsberg
2022-03-04 09:48:01 +01:00
committed by GitHub
4 changed files with 61 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Allow passing more repo configuration for `publish:github` action
+4
View File
@@ -233,6 +233,10 @@ export function createPublishGithubAction(options: {
description?: string | undefined;
access?: string | undefined;
defaultBranch?: string | undefined;
deleteBranchOnMerge?: boolean | undefined;
allowRebaseMerge?: boolean | undefined;
allowSquashMerge?: boolean | undefined;
allowMergeCommit?: boolean | undefined;
sourcePath?: string | undefined;
requireCodeOwnerReviews?: boolean | undefined;
repoVisibility?: 'internal' | 'private' | 'public' | undefined;
@@ -88,6 +88,10 @@ describe('publish:github', () => {
name: 'repo',
org: 'owner',
private: true,
delete_branch_on_merge: false,
allow_squash_merge: true,
allow_merge_commit: true,
allow_rebase_merge: true,
visibility: 'private',
});
@@ -103,6 +107,10 @@ describe('publish:github', () => {
name: 'repo',
org: 'owner',
private: false,
delete_branch_on_merge: false,
allow_squash_merge: true,
allow_merge_commit: true,
allow_rebase_merge: true,
visibility: 'public',
});
});
@@ -123,6 +131,10 @@ describe('publish:github', () => {
description: 'description',
name: 'repo',
private: true,
delete_branch_on_merge: false,
allow_squash_merge: true,
allow_merge_commit: true,
allow_rebase_merge: true,
});
await action.handler({
@@ -138,6 +150,10 @@ describe('publish:github', () => {
description: 'description',
name: 'repo',
private: false,
delete_branch_on_merge: false,
allow_squash_merge: true,
allow_merge_commit: true,
allow_rebase_merge: true,
});
});
@@ -46,6 +46,10 @@ export function createPublishGithubAction(options: {
description?: string;
access?: string;
defaultBranch?: string;
deleteBranchOnMerge?: boolean;
allowRebaseMerge?: boolean;
allowSquashMerge?: boolean;
allowMergeCommit?: boolean;
sourcePath?: string;
requireCodeOwnerReviews?: boolean;
repoVisibility?: 'private' | 'internal' | 'public';
@@ -94,6 +98,26 @@ export function createPublishGithubAction(options: {
type: 'string',
description: `Sets the default branch on the repository. The default value is 'master'`,
},
deleteBranchOnMerge: {
title: 'Delete Branch On Merge',
type: 'boolean',
description: `Delete the branch after merging the PR. The default value is 'false'`,
},
allowMergeCommit: {
title: 'Allow Merge Commits',
type: 'boolean',
description: `Allow merge commits. The default value is 'true'`,
},
allowSquashMerge: {
title: 'Allow Squash Merges',
type: 'boolean',
description: `Allow squash merges. The default value is 'true'`,
},
allowRebaseMerge: {
title: 'Allow Rebase Merges',
type: 'boolean',
description: `Allow rebase merges. The default value is 'true'`,
},
sourcePath: {
title: 'Source Path',
description:
@@ -156,6 +180,10 @@ export function createPublishGithubAction(options: {
requireCodeOwnerReviews = false,
repoVisibility = 'private',
defaultBranch = 'master',
deleteBranchOnMerge = false,
allowMergeCommit = true,
allowSquashMerge = true,
allowRebaseMerge = true,
collaborators,
topics,
token: providedToken,
@@ -188,11 +216,19 @@ export function createPublishGithubAction(options: {
private: repoVisibility === 'private',
visibility: repoVisibility,
description: description,
delete_branch_on_merge: deleteBranchOnMerge,
allow_merge_commit: allowMergeCommit,
allow_squash_merge: allowSquashMerge,
allow_rebase_merge: allowRebaseMerge,
})
: client.rest.repos.createForAuthenticatedUser({
name: repo,
private: repoVisibility === 'private',
description: description,
delete_branch_on_merge: deleteBranchOnMerge,
allow_merge_commit: allowMergeCommit,
allow_squash_merge: allowSquashMerge,
allow_rebase_merge: allowRebaseMerge,
});
const { data: newRepo } = await repoCreationPromise;