From 5875c1e2e0346b6e9342f9b05b3ef668fe86f337 Mon Sep 17 00:00:00 2001 From: lichao127 Date: Wed, 10 Jul 2024 12:27:17 -0700 Subject: [PATCH] allow empty author/committer --- action.yml | 3 +++ src/create-or-update-branch.ts | 3 ++- src/create-pull-request.ts | 47 ++++++++++++++++++++-------------- src/main.ts | 1 + 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/action.yml b/action.yml index 7913e60..41f4ff4 100644 --- a/action.yml +++ b/action.yml @@ -74,6 +74,9 @@ inputs: draft: description: 'Create a draft pull request. It is not possible to change draft status after creation except through the web interface' default: false + author-as-actions: + description: 'use GitHub Actions App as the author/committer which signs the commit' + default: false outputs: pull-request-number: description: 'The pull request number' diff --git a/src/create-or-update-branch.ts b/src/create-or-update-branch.ts index 7b584e8..fec8e9b 100644 --- a/src/create-or-update-branch.ts +++ b/src/create-or-update-branch.ts @@ -124,7 +124,8 @@ export async function createOrUpdateBranch( branch: string, branchRemoteName: string, signoff: boolean, - addPaths: string[] + addPaths: string[], + useRestApi: boolean ): Promise { // Get the working base. // When a ref, it may or may not be the actual base. diff --git a/src/create-pull-request.ts b/src/create-pull-request.ts index 0ec9338..912587a 100644 --- a/src/create-pull-request.ts +++ b/src/create-pull-request.ts @@ -32,6 +32,7 @@ export interface Inputs { teamReviewers: string[] milestone: number draft: boolean + commitAsActions: boolean } export async function createPullRequest(inputs: Inputs): Promise { @@ -154,24 +155,31 @@ export async function createPullRequest(inputs: Inputs): Promise { // Configure the committer and author core.startGroup('Configuring the committer and author') - const parsedAuthor = utils.parseDisplayNameEmail(inputs.author) - const parsedCommitter = utils.parseDisplayNameEmail(inputs.committer) - git.setIdentityGitOptions([ - '-c', - `author.name=${parsedAuthor.name}`, - '-c', - `author.email=${parsedAuthor.email}`, - '-c', - `committer.name=${parsedCommitter.name}`, - '-c', - `committer.email=${parsedCommitter.email}` - ]) - core.info( - `Configured git committer as '${parsedCommitter.name} <${parsedCommitter.email}>'` - ) - core.info( - `Configured git author as '${parsedAuthor.name} <${parsedAuthor.email}>'` - ) + if (inputs.commitAsActions == true) { + const parsedAuthor = "" + const parsedCommitter = "" + } + else { + const parsedAuthor = utils.parseDisplayNameEmail(inputs.author) + const parsedCommitter = utils.parseDisplayNameEmail(inputs.committer) + + git.setIdentityGitOptions([ + '-c', + `author.name=${parsedAuthor.name}`, + '-c', + `author.email=${parsedAuthor.email}`, + '-c', + `committer.name=${parsedCommitter.name}`, + '-c', + `committer.email=${parsedCommitter.email}` + ]) + core.info( + `Configured git committer as '${parsedCommitter.name} <${parsedCommitter.email}>'` + ) + core.info( + `Configured git author as '${parsedAuthor.name} <${parsedAuthor.email}>'` + ) + } core.endGroup() // Create or update the pull request branch @@ -183,7 +191,8 @@ export async function createPullRequest(inputs: Inputs): Promise { inputs.branch, branchRemoteName, inputs.signoff, - inputs.addPaths + inputs.addPaths, + inputs.commitAsActions ) core.endGroup() diff --git a/src/main.ts b/src/main.ts index 55cabd2..24c6558 100644 --- a/src/main.ts +++ b/src/main.ts @@ -28,6 +28,7 @@ async function run(): Promise { teamReviewers: utils.getInputAsArray('team-reviewers'), milestone: Number(core.getInput('milestone')), draft: core.getBooleanInput('draft') + useRestApi: core.getBooleanInput('use-rest-api') } core.debug(`Inputs: ${inspect(inputs)}`)