Commit Graph
100 Commits
Author SHA1 Message Date
Peter Evans aa523f9db6 refactor: replace uuid dep with Node.js built-in crypto.randomUUID (#4377)
Replace the third-party `uuid` package with the native `crypto.randomUUID()`
function available in Node.js, reducing the bundle size and external
dependencies.

- Remove `uuid` from `dependencies` in `package.json`
- Replace `import {v4 as uuidv4} from 'uuid'` with `import {randomUUID} from 'crypto'` in `src/create-or-update-branch.ts`
- Replace all `uuidv4()` calls with `randomUUID()` in `__test__/create-or-update-branch.int.test.ts`
- Rebuild `dist/index.js`, removing ~680 lines of bundled `uuid` library code
- Update `package-lock.json` to reflect removed dependency
2026-05-06 12:10:34 +01:00
Peter Evans 5f6978faf0 fix: retry post-creation API calls on 422 eventual consistency errors (#4356)
Add retry logic to handle GitHub API eventual consistency errors that
can occur after creating a new pull request. Follow-up API calls for
milestones, labels, assignees, and reviewers may fail with a 422
"Could not resolve to a node" error before the PR is fully propagated.

- Add generic `retryWithBackoff` helper in `src/utils.ts` with
  exponential backoff (default 2 retries, starting at 1s delay)
- Wrap post-creation API calls in `src/github-helper.ts` with
  `withRetryForNewPr()`, which only retries for newly created PRs
- Use `@octokit/request-error` `RequestError` type for precise error
  matching (status 422 + "Could not resolve to a node" message)
- Add unit tests for `retryWithBackoff` covering success, retry,
  exhaustion, and non-retryable error scenarios
- Update `dist/index.js` bundle and `package.json` dependencies
2026-04-10 17:23:55 +01:00
Peter Evans c0f553fe54 feat: add @octokit/plugin-retry to handle retriable server errors (#4298)
Add the retry plugin to automatically retry requests that fail with
server errors (5xx status codes). Configure the plugin to exclude 429
(rate limit) from retries since that is already handled by the
throttling plugin.

- Add @octokit/plugin-retry dependency
- Register retry plugin in Octokit client
- Export retryOptions with doNotRetry list excluding 429
- Apply retryOptions in GitHubHelper constructor
2026-01-21 15:20:27 +00:00
Peter Evans 70001242bf fix: Handle remote prune failures gracefully (#4295)
Wrap the git remote prune command in a try-catch block to prevent
the action from failing if the prune operation fails. Instead, log
a warning message and allow the action to continue.

Fixes edge cases where the prune command may fail on self-hosted
runners but shouldn't block the pull request creation workflow.
2026-01-21 15:04:51 +00:00
Peter Evans 0979079bc2 docs: update readme 2025-12-10 07:32:05 +00:00
Peter Evans 98357b18bf feat: v8 (#4260) 2025-12-09 20:23:02 +00:00
Peter Evans 22a9089034 fix: restrict remote prune to self-hosted runners (#4250) 2025-12-05 17:14:47 +00:00
Peter EvansandNoah Miller d4f3be6ce6 fix: provider list pulls fallback for multi fork same owner (#4245)
* fix: GitHub API not providing details for existing PRs in private repos (#4064)

* fix: extract fallback into func getPullNumber

---------

Co-authored-by: Noah Miller <mike@stealthwing.com>
2025-12-05 16:26:27 +00:00
Peter Evans e9af275c37 ci: update dependabot config 2025-10-06 09:08:27 +01:00
Peter Evans 3b1f4bffdc docs: update readme inputs description 2025-04-26 10:31:03 +01:00
Peter Evans d57e551ebc docs: add note about deploy keys and commit signing 2025-04-01 11:00:38 +01:00
Peter Evans 271a8d0340 fix: suppress output for some git operations (#3776)
* fix: suppress output for some git operations

* update dist
2025-03-04 02:32:33 -08:00
Peter Evans 6f7efd1c24 test: update cpr-example-command 2025-03-03 02:23:54 -08:00
Peter Evans 367180cbdf ci: remove testv5 cmd 2025-02-21 04:13:11 -08:00
Peter Evans 2539354181 build(deps): bump octokit dependencies (#3618) 2025-01-16 07:40:29 -08:00
Peter Evans 67ccf781d6 fix: preserve unicode in filepaths when commit signing (#3588) 2024-12-27 02:51:52 -08:00
Peter Evans 25b6871a4e docs: update scopes for push-to-fork 2024-11-27 02:53:09 -08:00
Peter Evans 5474387748 docs: fix readme 2024-11-26 05:19:28 -08:00
Peter Evans 0c478ad1a0 chore: use node-fetch-native support for proxy env vars (#3483) 2024-11-04 04:59:34 -08:00
Peter Evans 5e914681df fix: support symlinks when commit signing (#3359) 2024-09-18 10:40:10 -07:00
Peter Evans 2f38cd26bf fix: support submodules when commit signing (#3354)
* fix: support submodules when commit signing

* create correct tree object for submodule

* update log messages
2024-09-18 09:46:39 -07:00
Peter Evans 6cd32fd936 fix: disable abbreviated commit shas in diff (#3337) 2024-09-16 02:17:19 -07:00
Peter Evans d121e62763 fix: disable diff detection for renames and copies (#3330)
* fix: disable diff detection for renames and copies

* fix format
2024-09-12 04:48:43 -07:00
Peter Evans 5354f85616 docs: update readme 2024-09-09 07:01:59 -07:00
Peter Evans 8867c4aba1 fix: handle ambiguous argument failure on diff stat (#3312) 2024-09-05 09:23:05 +01:00
Peter Evans 73e6230af4 docs: update readme 2024-09-03 02:05:58 -07:00
Peter Evans c0348e860f ci: add v7 to workflow 2024-09-03 01:02:11 -07:00
Peter EvansandRavi 4320041ed3 feat: signed commits (v7) (#3057)
* Add support for signed commits (#3055)

* formatting

* fix eslint and lint errors

* shift setting the base to before the push

* sign commits by default for testing

* add debug lines

* read to buffer not string and use non-legacy method to base64

* debug payload without contents

* disable linter for debug code

* fix filepath when using path input

* try to fix head repo

* remove commented code

* Try refactor of file changes

* add tests for building file changes

* add build file changes test for binary files

* refactor graphql code into github helper class

* build file changes even when there is no diff

* add function to get commit detail

* fix format

* build branch commits

* use source mode for deleted files

* try rest api route

* fix check for branch existence

* force push

* try fix base tree

* debug commit verification

* debug commit verification

* fix format and cleanup

* add executable mode file to test

* limit blob creation concurrency

* only build commits when feature enabled

* remove unused code

* update readme link

* update docs for commit signing

* fix capital letter

* update docs

* add throttling

* set default back to false

* output head sha and verified status

* log outputs

* fix head sha output

* default the operation output to none

* output retryafter for secondary rate limit

* use separate client for branch and pull operations

* add maintainer-can-modify input

* rename git-token to branch-token

* fix branch token input

* remove deprecated env output

* update docs

* fix doc

* update docs

* build branch commits when there is a diff with the base

* check verification status of head commit when not known

* fix verified output when no commit signing is being used

* draft always-true

* convert to draft on branch updates when there is a diff with base

* update docs with blob size limit

* catch errors during blob creation for debugging

* parse empty commits

* pass base commit to push signed commits

* use parent commit details in create commit

* use parent tree for base_tree

* multipart tree creation

* update docs

* update readme about the permissions of the default token

* fix edge case where changes are partially merged

* add updating documentation

* fix typo

* update major version

---------

Co-authored-by: Ravi <1299606+rustycl0ck@users.noreply.github.com>
2024-09-03 08:54:12 +01:00
Peter Evans 4eb90b7bc7 ci: separate test suite commands in pr comment 2024-08-14 14:00:39 -07:00
Peter Evans 5308ecb864 ci: add sign-commits flag to test suite comment 2024-08-14 13:57:45 -07:00
Peter Evans c5a7806660 feat: add branch name output (#2995) 2024-06-18 09:51:55 -07:00
Peter Evans ce1b5d49b6 docs: clarify that bot user id is for github.com 2024-05-07 17:09:41 +09:00
Peter Evans 479b20f068 docs: update common issues 2024-05-02 22:54:33 +09:00
Peter Evans 6d6857d369 fix: update proxy support to follow octokit change to fetch api (#2867) 2024-04-25 17:09:16 +09:00
Peter Evans 9153d834b6 perf: limit the fetch depth of pr branch (#2857) 2024-04-17 20:00:12 +09:00
Peter Evans c55203cfde fix: drop unnecessary fetch with unshallow on push-to-fork (#2849) 2024-04-12 18:18:19 +09:00
Peter EvansandEric Webb 70a41aba78 perf: shallow fetch the actual base when rebasing from working base (#2816)
* Update git.fetch calls to use depth=1 (#2810)

* When base is set, fetch depth=1

* PR Feedback - remove depth=1 from tryFetch function

* push-to-fork fix

* test updates to handle shallow fetch of base

---------

Co-authored-by: Eric Webb <eric@collectivegenius.net>
2024-03-12 23:16:55 +09:00
Peter Evans bac6da8071 docs: update description of delete-branch 2024-03-01 20:02:35 +09:00
Peter Evans a4f52f8033 fix: list pulls using the correct head format (#2792) 2024-02-28 09:28:24 +09:00
b1ddad2c99 feat: v6 (#2717)
* feat: update author and committer input defaults

* Update github-actions[bot]

* Update author to new email format

* feat: optional input for git ops token

* feat: allow push-to-fork to push to sibling repos (#2414)

Fixes #2412.

* build: update dist

* feat: update action runtime to node 20 (#2340)

* feat: add truncate warning to pull request body

* perf: unshallow only when necessary

* fix: remove the remote for the fork on completion

* feat: infer github server and api urls

* test: integration test fixes

* build: bump major version

* docs: update to v6

---------

Co-authored-by: Teko <112829523+Teko012@users.noreply.github.com>
Co-authored-by: Benjamin Gilbert <bgilbert@backtick.net>
2024-01-31 11:06:34 +00:00
Peter Evans 1a0e857f60 docs: update readme with commit description details 2023-12-27 10:33:47 +00:00
Peter Evans efda6f2ece docs: update input description 2023-12-22 09:43:21 +00:00
Peter Evans 382b1bf0d8 docs: readme tweaks 2023-12-22 09:41:26 +00:00
Peter Evans 76c6f5c20e docs: update to checkout v4 2023-10-31 15:33:41 +00:00
Peter Evans d4d7b4e3a6 docs: add common issue 2023-10-25 13:54:11 +01:00
Peter Evans ae06da3674 build: update slash-command-dispatch config 2023-09-25 19:58:23 +09:00
Peter Evans 4e9c9ce808 docs: add common issues 2023-09-04 11:36:59 +01:00
Peter Evans 153407881e fix: specify head repo (#2044) 2023-06-14 10:11:08 +09:00
Peter Evans 284f54f989 fix: truncate body if exceeds max length (#1915) 2023-05-02 10:37:56 +09:00
Peter Evans 2827897dcc docs: add note about push-to-fork with remote repos 2023-04-12 12:03:29 +09:00
Peter Evans 5b4a9f6a9e v5 (#1792)
* feat: restore working base branch and uncommitted changes

* docs: uncommitted changes are stashed and restored

* docs: add major version notes

* fix: update package version

* fix: update package-lock

* feat: revise proxy implementation

* docs: add notes for the revised proxy implementation

* feat: set and remove git safe directory

* docs: add notes for the git safe directory feature

* fix: use base url for proxy check

* feat: determine the git dir with rev-parse

* build: update package lock

* fix: remove support for ghes alpha

* feat: revise handling of team reviewers

* docs: update notes

* feat: body-path

* docs: update to v5

* docs: update to v5

* build: fix package lock
2023-04-05 08:41:18 +09:00
Peter Evans ca4fd2f0d1 ci: update dependabot 2023-01-03 10:06:31 +09:00
Peter Evans ea54357f43 docs: update readme 2022-12-19 11:36:40 +09:00
Peter Evans df09107abb Create update-major-version.yml 2022-12-13 15:14:27 +09:00
Peter Evans 16ae6c427b build(deps-dev): update dev dependencies (#1416) 2022-12-12 11:46:21 +09:00
Peter Evans 1313abbfb6 ci: update dependabot.yml 2022-12-12 09:44:24 +09:00
Peter Evans d4d765620e ci: workflow fixes 2022-12-09 14:17:47 +09:00
Peter Evans 8861bdedc8 ci: update workflows 2022-12-09 12:01:27 +09:00
Peter Evans 75a5de63f0 docs: add snippet for bypassing git hooks 2022-12-09 10:59:33 +09:00
Peter Evans d36c8e0863 ci: add testv4 command 2022-11-29 15:37:58 +09:00
Peter Evans 2b011faafd fix: add check for missing token input (#1324) 2022-11-28 16:10:24 +09:00
331d02c7e2 fix: support github server url for pushing to fork (#1318)
* feat: support github server url for pushing to fork (#1315)

Co-authored-by: Kevin Zhu <kevin.zhu@sap.com>

* fix: code formatting

* test: fix tests for getRemoteUrl

Co-authored-by: MildC <kevin.xizhu@gmail.com>
Co-authored-by: Kevin Zhu <kevin.zhu@sap.com>
2022-11-24 11:52:04 +09:00
Peter Evans d7db273d6c fix: handle update after force pushing base to a new commit (#1307) 2022-11-22 10:42:29 +09:00
Peter Evans ee93d78b55 test: set default branch to main (#1310) 2022-11-11 16:15:15 +09:00
Peter Evans 6c704eb7a8 docs: clarify limitations of push-to-fork with restricted token 2022-10-24 14:29:43 +09:00
Peter Evans 88bf0de51c docs: correct examples 2022-10-21 14:01:58 +09:00
Peter Evans b38e8b0abe docs: replace set-output in example 2022-10-18 17:01:36 +09:00
Peter Evans b4d51739f9 feat: switch proxy implementation (#1269) 2022-10-18 12:14:51 +09:00
Peter Evans b67934cbcf ci: update dependabot 2022-10-16 23:28:50 +09:00
Peter Evans ef83023339 build(deps): bump @actions/core to 1.10.0 (#1274) 2022-10-16 23:22:11 +09:00
Peter Evans 3f9dbd5a76 fix: replace use of any type (#1251) 2022-09-21 15:42:50 +09:00
Peter Evans 171dd555b9 fix: improve logging when checking fork (#1246) 2022-09-21 10:40:38 +09:00
Peter Evans 6e59b075e0 test: update the test execution env (#1235) 2022-08-26 11:07:49 +09:00
Peter Evans 9c5916f06d docs: add funding 2022-08-26 10:32:19 +09:00
Peter Evans 8e154b2a92 ci: add workflow permissions (#1220) 2022-08-19 11:00:29 +09:00
Peter Evans 2721abb4d0 fix: handle nothing to commit when autocrlf is set (#1211) 2022-08-18 17:20:00 +09:00
Peter Evans 10db75894f docs: add info about workflow permissions 2022-06-08 17:57:28 +09:00
Peter Evans 5a6b15373e docs: clearer description of update behaviour 2022-06-08 17:30:26 +09:00
Peter Evans f094b77505 fix: avoid issue with case sensitivity of repo names (#1179)
* fix: avoid issue with case sensitivity in condition

* chore: upgrade jest to v28
2022-05-08 17:37:36 +09:00
Peter Evans af7c021bb9 docs: shorten quote 2022-04-22 14:27:14 +09:00
Peter Evans bd72e1b792 fix: use full name for head branch to allow for repo renaming (#1164) 2022-04-08 21:38:55 +09:00
Peter Evans d6d5519d05 v4 (#1099)
* feat: update action runtime to node 16

* feat: allow add-paths to resolve to no changes

* docs: update readme

* chore: update package lock

* chore: bump dependency

* ci: add dependabot workflow

* docs: update action versions
2022-03-23 14:22:01 +09:00
Peter Evans 0e8dfbd57d docs: update guidelines 2022-03-11 13:46:10 +09:00
Peter Evans 18f7dc018c feat: revert update action runtime to node 16 2022-02-28 21:17:05 +09:00
Peter Evans a7bb76508d fix: remove unused draft param from pull update (#1065) 2022-02-23 15:34:53 +09:00
Peter Evans 3f60247108 ci: remove workflow (#1046) 2022-01-28 11:42:48 +09:00
dcd5fd746d feat: add-paths input (#1010)
* add add-pattern-array argument

* ignore return code

* doc to add-pattern-array

* update README.md

* cleanup after success commit

* fix integration tests

* add test

* update naming and docs

* update readme

* fix missing await

* update docs

Co-authored-by: avdim <avdim@mail.ru>
Co-authored-by: Авдеев Дима <avdeev@tutu.tech>
2021-12-14 11:23:29 +09:00
Peter Evans 4b53b6fd1a Merge pull request #967 from peter-evans/update-dependencies
Update dependencies
2021-12-02 12:02:05 +09:00
Peter Evans 10a1849302 chore: update dist 2021-12-02 11:19:12 +09:00
Peter Evans c209d72428 chore: update package lock 2021-12-02 11:18:20 +09:00
Peter Evans ef9e028216 fix: resolving path to module 2021-12-02 11:17:26 +09:00
Peter Evans b9117f2e0c Merge pull request #992 from MichaelCurrin/patch-1
docs: update marketplace logo
2021-12-02 08:56:24 +09:00
Peter Evans d8e8e547cc Merge pull request #986 from irphilli/docs/github-app-permissions
docs: Update to include app permissions needed to add teams as reviewers
2021-11-15 09:14:49 +09:00
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 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 d8a389d1fa Merge pull request #932 from peter-evans/update-dependencies
Update dependencies
2021-10-07 10:46:28 +09:00