Compare commits

..
30 Commits
Author SHA1 Message Date
Peter Evans 67df31e08a fix: add head sha output to action.yml 2021-11-04 11:13:50 +09:00
Peter Evans f530141cd3 Merge pull request #981 from peter-evans/update-distribution
Update distribution
2021-11-04 11:07:54 +09:00
peter-evans a5a72ba246 build: update distribution 2021-11-04 02:07:25 +00:00
Peter Evans a6c8b3814a Merge pull request #976 from peter-evans/output-sha
feat: add output for head sha
2021-11-04 11:04:47 +09:00
Peter Evans c0a9598b0e feat: add output for head sha 2021-11-04 10:42:17 +09:00
Peter Evans 3c3d696d5b Merge pull request #955 from peter-evans/dependabot/npm_and_yarn/ansi-regex-5.0.1
build(deps): bump ansi-regex from 5.0.0 to 5.0.1
2021-10-07 11:09:44 +09:00
Peter Evans bd0f84d69c Merge pull request #958 from peter-evans/update-distribution
Update distribution
2021-10-07 10:50:19 +09:00
peter-evans ad71e1f128 build: update distribution 2021-10-07 01:48:29 +00:00
dependabot[bot] 368c9da6f6 build(deps): bump ansi-regex from 5.0.0 to 5.0.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-07 01:46:56 +00:00
Peter Evans d8a389d1fa Merge pull request #932 from peter-evans/update-dependencies
Update dependencies
2021-10-07 10:46:28 +09:00
actions-bot 225cf628aa chore: update dependencies 2021-10-07 01:25:48 +00:00
Peter Evans d7a8d0affc ci: revert test of new scd version
This reverts commit 2dc79e58de.
2021-09-17 09:59:51 +09:00
Peter Evans 2dc79e58de ci: test new scd version 2021-09-16 14:56:26 +09:00
Peter Evans 95767e7d51 Merge pull request #894 from peter-evans/update-dependencies
Update dependencies
2021-09-02 14:10:28 +09:00
Peter Evans 3263596ac4 fix: set error types to any 2021-09-02 13:59:32 +09:00
Peter Evans 3e21ec0c82 chore: update package-lock 2021-09-02 13:54:47 +09:00
actions-bot 5050a372c9 chore: update dependencies 2021-09-02 01:24:01 +00:00
Peter Evans 7380612b49 Merge pull request #915 from peter-evans/missing-outputs
fix: add missing outputs
2021-08-23 12:59:53 +09:00
Peter Evans 771ad1b5f4 fix: add missing outputs 2021-08-23 12:51:26 +09:00
Peter Evans 093c191148 Merge pull request #903 from peter-evans/failure-mode-test
test: add test for detached head failure mode
2021-08-13 11:47:40 +09:00
Peter Evans 00cb0abb4d build: update package lock version 2021-08-13 11:35:07 +09:00
Peter Evans fa0950476f test: add test for detached head failure mode 2021-08-13 11:34:19 +09:00
Peter Evans b90b9c1e20 Merge pull request #890 from peter-evans/update-distribution
Update distribution
2021-07-22 11:05:37 +09:00
peter-evans 028a63020c build: update distribution 2021-07-22 02:05:00 +00:00
Peter Evans 9d59234a82 Merge pull request #864 from peter-evans/update-dependencies
Update dependencies
2021-07-22 11:02:56 +09:00
actions-bot 210f7aab2c chore: update dependencies 2021-07-22 01:26:10 +00:00
Peter Evans 6bb7394339 Merge pull request #850 from peter-evans/update-distribution
Update distribution
2021-05-27 13:22:56 +09:00
peter-evans a518698c07 build: update distribution 2021-05-27 04:20:57 +00:00
Peter Evans 8be395fdd3 Merge pull request #834 from peter-evans/update-dependencies
Update dependencies
2021-05-27 13:18:59 +09:00
actions-bot 36d063872e chore: update dependencies 2021-05-27 01:32:21 +00:00
14 changed files with 4032 additions and 11496 deletions
+1 -5
View File
@@ -79,6 +79,7 @@ The following outputs can be used by subsequent workflow steps.
- `pull-request-number` - The pull request number.
- `pull-request-url` - The URL of the pull request.
- `pull-request-operation` - The pull request operation performed by the action, `created`, `updated` or `closed`.
- `pull-request-head-sha` - The commit SHA of the pull request branch.
Step outputs can be accessed as in the following example.
Note that in order to read the step outputs the action step must have an id.
@@ -215,11 +216,6 @@ jobs:
maintainers
milestone: 1
draft: false
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
```
An example based on the above reference configuration creates pull requests that look like this:
@@ -1740,4 +1740,26 @@ describe('create-or-update-branch tests', () => {
])
).toBeTruthy()
})
// This failure mode is a limitation of the action. Controlling your own commits cannot be used in detached HEAD state.
// https://github.com/peter-evans/create-pull-request/issues/902
it('tests failure to create with commits on the working base (during the workflow) in detached HEAD state (WBNR)', async () => {
// Checkout the HEAD commit SHA
const headSha = await git.revParse('HEAD')
await git.checkout(headSha)
// Create commits on the working base
const commits = await createCommits(git)
const commitMessage = uuidv4()
const result = await createOrUpdateBranch(
git,
commitMessage,
BASE,
BRANCH,
REMOTE_NAME,
false
)
// The action cannot successfully create the branch
expect(result.action).toEqual('none')
})
})
+1 -1
View File
@@ -16,7 +16,7 @@ COPY __test__/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EOF
docker build -t $IMAGE .
docker build --no-cache -t $IMAGE .
rm Dockerfile
fi
+3 -3
View File
@@ -58,7 +58,7 @@ describe('utils tests', () => {
utils.getRemoteDetail(remoteUrl)
// Fail the test if an error wasn't thrown
expect(true).toEqual(false)
} catch (e) {
} catch (e: any) {
expect(e.message).toEqual(
`The format of '${remoteUrl}' is not a valid GitHub repository URL`
)
@@ -104,7 +104,7 @@ describe('utils tests', () => {
utils.parseDisplayNameEmail(displayNameEmail1)
// Fail the test if an error wasn't thrown
expect(true).toEqual(false)
} catch (e) {
} catch (e: any) {
expect(e.message).toEqual(
`The format of '${displayNameEmail1}' is not a valid email address with display name`
)
@@ -115,7 +115,7 @@ describe('utils tests', () => {
utils.parseDisplayNameEmail(displayNameEmail2)
// Fail the test if an error wasn't thrown
expect(true).toEqual(false)
} catch (e) {
} catch (e: any) {
expect(e.message).toEqual(
`The format of '${displayNameEmail2}' is not a valid email address with display name`
)
+6
View File
@@ -67,6 +67,12 @@ inputs:
outputs:
pull-request-number:
description: 'The pull request number'
pull-request-url:
description: 'The URL of the pull request.'
pull-request-operation:
description: 'The pull request operation performed by the action, `created`, `updated` or `closed`.'
pull-request-head-sha:
description: 'The commit SHA of the pull request branch.'
runs:
using: 'node12'
main: 'dist/index.js'
+1817 -700
View File
File diff suppressed because one or more lines are too long
+2152 -10763
View File
File diff suppressed because it is too large Load Diff
+17 -17
View File
@@ -29,27 +29,27 @@
},
"homepage": "https://github.com/peter-evans/create-pull-request",
"dependencies": {
"@actions/core": "1.2.7",
"@actions/exec": "1.0.4",
"@octokit/core": "3.4.0",
"@octokit/plugin-paginate-rest": "2.13.3",
"@octokit/plugin-rest-endpoint-methods": "5.1.1",
"@actions/core": "1.6.0",
"@actions/exec": "1.1.0",
"@octokit/core": "3.5.1",
"@octokit/plugin-paginate-rest": "2.16.7",
"@octokit/plugin-rest-endpoint-methods": "5.11.4",
"https-proxy-agent": "5.0.0",
"uuid": "8.3.2"
},
"devDependencies": {
"@types/jest": "26.0.23",
"@types/node": "15.0.3",
"@typescript-eslint/parser": "4.23.0",
"@vercel/ncc": "0.28.5",
"eslint": "7.26.0",
"eslint-plugin-github": "4.1.3",
"eslint-plugin-jest": "24.3.6",
"jest": "26.6.3",
"jest-circus": "26.6.3",
"@types/jest": "27.0.2",
"@types/node": "16.10.3",
"@typescript-eslint/parser": "4.33.0",
"@vercel/ncc": "0.31.1",
"eslint": "7.32.0",
"eslint-plugin-github": "4.3.2",
"eslint-plugin-jest": "24.5.2",
"jest": "27.2.4",
"jest-circus": "27.2.4",
"js-yaml": "4.1.0",
"prettier": "2.3.0",
"ts-jest": "26.5.6",
"typescript": "4.2.4"
"prettier": "2.4.1",
"ts-jest": "27.0.5",
"typescript": "4.4.3"
}
}
+6 -1
View File
@@ -110,7 +110,8 @@ export async function createOrUpdateBranch(
const result: CreateOrUpdateBranchResult = {
action: 'none',
base: base,
hasDiffWithBase: false
hasDiffWithBase: false,
headSha: ''
}
// Save the working base changes to a temporary branch
@@ -231,6 +232,9 @@ export async function createOrUpdateBranch(
result.hasDiffWithBase = await isAhead(git, base, branch)
}
// Get the pull request branch SHA
result.headSha = await git.revParse('HEAD')
// Delete the temporary branch
await git.exec(['branch', '--delete', '--force', tempBranch])
@@ -241,4 +245,5 @@ interface CreateOrUpdateBranchResult {
action: string
base: string
hasDiffWithBase: boolean
headSha: string
}
+2 -1
View File
@@ -212,6 +212,7 @@ export async function createPullRequest(inputs: Inputs): Promise<void> {
} else if (result.action == 'updated') {
core.setOutput('pull-request-operation', 'updated')
}
core.setOutput('pull-request-head-sha', result.headSha)
// Deprecated
core.exportVariable('PULL_REQUEST_NUMBER', pull.number)
core.endGroup()
@@ -237,7 +238,7 @@ export async function createPullRequest(inputs: Inputs): Promise<void> {
}
}
}
} catch (error) {
} catch (error: any) {
core.setFailed(error.message)
} finally {
// Remove auth and restore persisted auth config if it existed
+1 -1
View File
@@ -33,7 +33,7 @@ export class GitAuthHelper {
try {
await this.setExtraheaderConfig(this.persistedExtraheaderConfigValue)
core.info('Persisted git credentials restored')
} catch (e) {
} catch (e: any) {
core.warning(e)
}
}
+2 -2
View File
@@ -60,7 +60,7 @@ export class GitHubHelper {
html_url: pull.html_url,
created: true
}
} catch (e) {
} catch (e: any) {
if (
e.message &&
e.message.includes(`A pull request already exists for ${headBranch}`)
@@ -165,7 +165,7 @@ export class GitHubHelper {
pull_number: pull.number,
...requestReviewersParams
})
} catch (e) {
} catch (e: any) {
if (e.message && e.message.includes(ERROR_PR_REVIEW_FROM_AUTHOR)) {
core.warning(ERROR_PR_REVIEW_FROM_AUTHOR)
} else {
+1 -1
View File
@@ -29,7 +29,7 @@ async function run(): Promise<void> {
core.debug(`Inputs: ${inspect(inputs)}`)
await createPullRequest(inputs)
} catch (error) {
} catch (error: any) {
core.setFailed(error.message)
}
}
+1 -1
View File
@@ -134,7 +134,7 @@ export function fileExistsSync(path: string): boolean {
let stats: fs.Stats
try {
stats = fs.statSync(path)
} catch (error) {
} catch (error: any) {
if (error.code === 'ENOENT') {
return false
}