Add support for allowing branch updates

This commit adds support for allowing branch updates when creating a GitHub repository. It introduces a new `allowUpdateBranch` property to the `createGithubRepoCreateAction` function, allowing users to specify whether updates to branches should be allowed. This enhancement provides more flexibility and control over repository management.

Signed-off-by: Brett Wright <wright.brett@gmail.com>
This commit is contained in:
Brett Wright
2025-03-12 08:55:36 +11:00
parent 285f6584d8
commit 411c87960c
10 changed files with 284 additions and 32 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-github': patch
---
Add support to github:repo:create to allow branch updates
@@ -210,6 +210,7 @@ export function createGithubRepoCreateAction(options: {
squashMergeCommitMessage?: 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK';
allowMergeCommit?: boolean;
allowAutoMerge?: boolean;
allowUpdateBranch?: boolean;
requireCodeOwnerReviews?: boolean;
bypassPullRequestAllowances?: {
users?: string[];
@@ -355,6 +356,7 @@ export function createPublishGithubAction(options: {
squashMergeCommitMessage?: 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK';
allowMergeCommit?: boolean;
allowAutoMerge?: boolean;
allowUpdateBranch?: boolean;
sourcePath?: string;
bypassPullRequestAllowances?:
| {
@@ -189,6 +189,12 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'private',
});
@@ -211,6 +217,12 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'public',
});
@@ -234,6 +246,7 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
visibility: 'private',
});
@@ -258,10 +271,13 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
customElements: undefined,
visibility: 'private',
has_wiki: true,
has_projects: true,
has_issues: true,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
await action.handler({
@@ -285,10 +301,13 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
visibility: 'private',
has_wiki: false,
has_projects: false,
has_issues: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
await action.handler({
@@ -314,11 +333,13 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: 'https://example.com',
visibility: 'private',
custom_properties: {
foo: 'bar',
foo2: 'bar2',
},
});
});
@@ -345,6 +366,11 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
});
await action.handler({
@@ -367,6 +393,11 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
});
await action.handler({
@@ -390,6 +421,10 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
});
await action.handler({
@@ -414,9 +449,10 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
has_wiki: true,
has_projects: true,
has_issues: true,
allow_update_branch: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
});
await action.handler({
@@ -441,9 +477,11 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
has_wiki: false,
has_projects: false,
has_issues: false,
allow_update_branch: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
// Custom properties on user repos should be ignored
@@ -471,6 +509,11 @@ describe('publish:github', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: 'https://example.com',
});
});
@@ -65,6 +65,7 @@ export function createPublishGithubAction(options: {
squashMergeCommitMessage?: 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK';
allowMergeCommit?: boolean;
allowAutoMerge?: boolean;
allowUpdateBranch?: boolean;
sourcePath?: string;
bypassPullRequestAllowances?:
| {
@@ -156,6 +157,7 @@ export function createPublishGithubAction(options: {
squashMergeCommitMessage: inputProps.squashMergeCommitMessage,
allowRebaseMerge: inputProps.allowRebaseMerge,
allowAutoMerge: inputProps.allowAutoMerge,
allowUpdateBranch: inputProps.allowUpdateBranch,
sourcePath: inputProps.sourcePath,
collaborators: inputProps.collaborators,
hasProjects: inputProps.hasProjects,
@@ -210,6 +212,7 @@ export function createPublishGithubAction(options: {
squashMergeCommitMessage = 'COMMIT_MESSAGES',
allowRebaseMerge = true,
allowAutoMerge = false,
allowUpdateBranch = false,
collaborators,
hasProjects = undefined,
hasWiki = undefined,
@@ -258,6 +261,7 @@ export function createPublishGithubAction(options: {
squashMergeCommitMessage,
allowRebaseMerge,
allowAutoMerge,
allowUpdateBranch,
access,
collaborators,
hasProjects,
@@ -129,6 +129,12 @@ describe('github:repo:create examples', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'private',
});
});
@@ -157,6 +163,11 @@ describe('github:repo:create examples', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'private',
});
});
@@ -177,6 +188,7 @@ describe('github:repo:create examples', () => {
name: 'repo',
org: 'owner',
private: true,
description: undefined,
delete_branch_on_merge: false,
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
@@ -184,9 +196,13 @@ describe('github:repo:create examples', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
visibility: 'private',
has_issues: false, // disable issues
has_projects: undefined,
has_wiki: false, // disable wiki
homepage: undefined,
});
});
@@ -219,6 +235,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -260,6 +278,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -301,6 +321,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -342,6 +364,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -383,6 +407,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: false,
allow_rebase_merge: false,
allow_auto_merge: false,
@@ -424,6 +450,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'pull_request_title',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -465,6 +493,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'blank',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -506,6 +536,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: true,
@@ -547,6 +579,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -588,6 +622,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -629,6 +665,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -670,6 +708,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -711,6 +751,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -752,6 +794,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -793,6 +837,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -834,6 +880,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -875,6 +923,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -916,6 +966,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -957,6 +1009,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -998,6 +1052,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1039,6 +1095,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1080,6 +1138,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: false,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1121,6 +1181,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1162,6 +1224,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1203,6 +1267,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1244,6 +1310,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1285,6 +1353,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1326,6 +1396,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1367,6 +1439,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1408,6 +1482,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1449,6 +1525,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1490,6 +1568,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1531,6 +1611,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1572,6 +1654,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1613,6 +1697,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1654,6 +1740,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1695,6 +1783,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1736,6 +1826,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1777,6 +1869,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'pull_request_description',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: false,
allow_rebase_merge: false,
allow_auto_merge: false,
@@ -1818,6 +1912,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: false,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: false,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1859,6 +1955,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1900,6 +1998,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1941,6 +2041,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -1982,6 +2084,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2023,6 +2127,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2064,6 +2170,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2105,6 +2213,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2146,6 +2256,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: false,
allow_rebase_merge: true,
allow_auto_merge: true,
@@ -2187,6 +2299,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2228,6 +2342,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2269,6 +2385,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2310,6 +2428,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2351,6 +2471,8 @@ describe('github:repo:create examples', () => {
allow_squash_merge: true,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_update_branch: false,
custom_properties: undefined,
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
@@ -2390,6 +2512,8 @@ describe('github:repo:create examples', () => {
private: true,
delete_branch_on_merge: false,
allow_squash_merge: true,
allow_update_branch: false,
custom_properties: undefined,
squash_merge_commit_title: 'COMMIT_OR_PR_TITLE',
squash_merge_commit_message: 'COMMIT_MESSAGES',
allow_merge_commit: true,
@@ -991,4 +991,19 @@ export const examples: TemplateExample[] = [
],
}),
},
{
description: 'Allow branch updates.',
example: yaml.stringify({
steps: [
{
action: 'github:repo:create',
name: 'Create a new GitHub repository allowing branch updates',
input: {
repoUrl: 'github.com?repo=repo&owner=owner',
allowUpdateBranch: true,
},
},
],
}),
},
];
@@ -137,6 +137,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'private',
});
@@ -159,6 +164,12 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
visibility: 'public',
});
@@ -182,6 +193,10 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
visibility: 'private',
});
@@ -206,10 +221,13 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
visibility: 'private',
has_wiki: true,
has_projects: true,
has_issues: true,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
await action.handler({
@@ -233,10 +251,12 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
visibility: 'private',
has_wiki: false,
has_projects: false,
has_issues: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
});
await action.handler({
@@ -262,11 +282,13 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
custom_properties: undefined,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: 'https://example.com',
visibility: 'private',
custom_properties: {
foo: 'bar',
foo2: 'bar2',
},
});
});
@@ -293,6 +315,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
});
await action.handler({
@@ -315,6 +342,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: undefined,
});
await action.handler({
@@ -338,6 +370,10 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
});
await action.handler({
@@ -362,9 +398,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
has_wiki: true,
has_projects: true,
has_issues: true,
allow_update_branch: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
await action.handler({
@@ -389,9 +427,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
has_wiki: false,
has_projects: false,
has_issues: false,
allow_update_branch: false,
has_wiki: undefined,
has_projects: undefined,
has_issues: undefined,
homepage: 'https://example.com',
});
// Custom properties on user repos should be ignored
@@ -419,6 +459,11 @@ describe('github:repo:create', () => {
allow_merge_commit: true,
allow_rebase_merge: true,
allow_auto_merge: false,
allow_update_branch: false,
has_issues: undefined,
has_projects: undefined,
has_wiki: undefined,
homepage: 'https://example.com',
});
});
@@ -55,6 +55,7 @@ export function createGithubRepoCreateAction(options: {
squashMergeCommitMessage?: 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK';
allowMergeCommit?: boolean;
allowAutoMerge?: boolean;
allowUpdateBranch?: boolean;
requireCodeOwnerReviews?: boolean;
bypassPullRequestAllowances?: {
users?: string[];
@@ -130,6 +131,7 @@ export function createGithubRepoCreateAction(options: {
squashMergeCommitMessage: inputProps.squashMergeCommitMessage,
allowRebaseMerge: inputProps.allowRebaseMerge,
allowAutoMerge: inputProps.allowAutoMerge,
allowUpdateBranch: inputProps.allowUpdateBranch,
collaborators: inputProps.collaborators,
hasProjects: inputProps.hasProjects,
hasWiki: inputProps.hasWiki,
@@ -167,6 +169,7 @@ export function createGithubRepoCreateAction(options: {
squashMergeCommitMessage = 'COMMIT_MESSAGES',
allowRebaseMerge = true,
allowAutoMerge = false,
allowUpdateBranch = false,
collaborators,
hasProjects = undefined,
hasWiki = undefined,
@@ -213,6 +216,7 @@ export function createGithubRepoCreateAction(options: {
squashMergeCommitMessage,
allowRebaseMerge,
allowAutoMerge,
allowUpdateBranch,
access,
collaborators,
hasProjects,
@@ -44,6 +44,7 @@ export async function createGithubRepoWithCollaboratorsAndTopics(
squashMergeCommitMessage: 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' | undefined,
allowRebaseMerge: boolean,
allowAutoMerge: boolean,
allowUpdateBranch: boolean,
access: string | undefined,
collaborators:
| (
@@ -103,6 +104,7 @@ export async function createGithubRepoWithCollaboratorsAndTopics(
squash_merge_commit_message: squashMergeCommitMessage,
allow_rebase_merge: allowRebaseMerge,
allow_auto_merge: allowAutoMerge,
allow_update_branch: allowUpdateBranch,
homepage: homepage,
has_projects: hasProjects,
has_wiki: hasWiki,
@@ -121,6 +123,7 @@ export async function createGithubRepoWithCollaboratorsAndTopics(
squash_merge_commit_message: squashMergeCommitMessage,
allow_rebase_merge: allowRebaseMerge,
allow_auto_merge: allowAutoMerge,
allow_update_branch: allowUpdateBranch,
homepage: homepage,
has_projects: hasProjects,
has_wiki: hasWiki,
@@ -111,6 +111,12 @@ const allowSquashMerge = {
default: true,
description: 'Allow squash merges. The default value is `true`',
};
const allowUpdateBranch = {
title: 'Allow Update Branch',
type: 'boolean',
default: false,
description: 'Allow branch to be updated. The default value is `false`',
};
const squashMergeCommitTitle = {
title: 'Default squash merge commit title',
enum: ['PR_TITLE', 'COMMIT_OR_PR_TITLE'],
@@ -364,6 +370,7 @@ export { allowSquashMerge };
export { squashMergeCommitTitle };
export { squashMergeCommitMessage };
export { allowAutoMerge };
export { allowUpdateBranch };
export { collaborators };
export { defaultBranch };
export { deleteBranchOnMerge };