diff --git a/dist/index.js b/dist/index.js index 0b39a1e..56c158d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -452,12 +452,14 @@ function createPullRequest(inputs) { if (branchRemoteName == 'origin' && base == inputs.branch) { throw new Error(`The 'base' and 'branch' for a pull request must be different branches. Unable to continue.`); } - // For self-hosted runners the repository state persists between runs. - // This command prunes the stale remote ref when the pull request branch was - // deleted after being merged or closed. Without this the push using - // '--force-with-lease' fails due to "stale info." - // https://github.com/peter-evans/create-pull-request/issues/633 - yield git.exec(['remote', 'prune', branchRemoteName]); + if (utils.isSelfHosted()) { + // For self-hosted runners the repository state persists between runs. + // This command prunes the stale remote ref when the pull request branch was + // deleted after being merged or closed. Without this the push using + // '--force-with-lease' fails due to "stale info." + // https://github.com/peter-evans/create-pull-request/issues/633 + yield git.exec(['remote', 'prune', branchRemoteName]); + } core.endGroup(); // Apply the branch suffix if set if (inputs.branchSuffix) { @@ -1888,6 +1890,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.isSelfHosted = void 0; exports.getInputAsArray = getInputAsArray; exports.getStringAsArray = getStringAsArray; exports.stripOrgPrefixFromTeams = stripOrgPrefixFromTeams; @@ -1996,6 +1999,10 @@ function getErrorMessage(error) { return error.message; return String(error); } +const isSelfHosted = () => process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && + (process.env['AGENT_ISSELFHOSTED'] === '1' || + process.env['AGENT_ISSELFHOSTED'] === undefined); +exports.isSelfHosted = isSelfHosted; /***/ }), diff --git a/src/create-pull-request.ts b/src/create-pull-request.ts index 0ab4f8c..10b0377 100644 --- a/src/create-pull-request.ts +++ b/src/create-pull-request.ts @@ -121,12 +121,14 @@ export async function createPullRequest(inputs: Inputs): Promise { `The 'base' and 'branch' for a pull request must be different branches. Unable to continue.` ) } - // For self-hosted runners the repository state persists between runs. - // This command prunes the stale remote ref when the pull request branch was - // deleted after being merged or closed. Without this the push using - // '--force-with-lease' fails due to "stale info." - // https://github.com/peter-evans/create-pull-request/issues/633 - await git.exec(['remote', 'prune', branchRemoteName]) + if (utils.isSelfHosted()) { + // For self-hosted runners the repository state persists between runs. + // This command prunes the stale remote ref when the pull request branch was + // deleted after being merged or closed. Without this the push using + // '--force-with-lease' fails due to "stale info." + // https://github.com/peter-evans/create-pull-request/issues/633 + await git.exec(['remote', 'prune', branchRemoteName]) + } core.endGroup() // Apply the branch suffix if set diff --git a/src/utils.ts b/src/utils.ts index b501dd4..6f822d2 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -135,3 +135,8 @@ export function getErrorMessage(error: unknown) { if (error instanceof Error) return error.message return String(error) } + +export const isSelfHosted = (): boolean => + process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && + (process.env['AGENT_ISSELFHOSTED'] === '1' || + process.env['AGENT_ISSELFHOSTED'] === undefined)