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:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Allow passing more repo configuration for `publish:github` action
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user