Commit Graph

143 Commits

Author SHA1 Message Date
5b35d17444 format determineApiUrl code
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2026-01-25 00:00:49 +00:00
jiriks74
e7bedce0fb feat: Handle API URLs for Forgejo, Gitea, GitLab and GitHub 2026-01-25 00:00:49 +00: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
22a9089034 fix: restrict remote prune to self-hosted runners (#4250) 2025-12-05 17:14:47 +00:00
Peter Evans
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
eric sciple
84ae59a2cd fix: compatibility with actions/checkout@v6 (#4230)
Temporarily hides checkout@v6 credential files to prevent duplicate Authorization headers.

Fixes #4228
2025-11-22 17:59:34 +00: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
Graham Christensen
dd2324fc52 fix: use showFileAtRefBase64 to read per-commit file contents (#3744)
* GitCommandManager: add a function to get a file's contents at a specific revision

* use showFileAtRef instead of readFileBase64

* Teach GitCommandManager.exec about an object of exec parameters so we can add more

* Encode the showFiletRef output as base64 out of the gate

* Fix missing async for function

* Use Buffer.concat to avoid issues with partial data streams

* formatting

---------

Co-authored-by: gustavderdrache <alex.ford@determinate.systems>
2025-02-24 03:36:54 -08:00
Peter Evans
67ccf781d6 fix: preserve unicode in filepaths when commit signing (#3588) 2024-12-27 02:51:52 -08:00
Peter Evans
0c478ad1a0 chore: use node-fetch-native support for proxy env vars (#3483) 2024-11-04 04:59:34 -08:00
Ben McCann
2aadff01a4 chore: don't bundle undici (#3475) 2024-11-04 03:47:07 -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
8867c4aba1 fix: handle ambiguous argument failure on diff stat (#3312) 2024-09-05 09:23:05 +01:00
Peter Evans
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
c5a7806660 feat: add branch name output (#2995) 2024-06-18 09:51:55 -07: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 Evans
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
a4f52f8033 fix: list pulls using the correct head format (#2792) 2024-02-28 09:28:24 +09:00
Peter Evans
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
dependabot[bot]
4306b59af5 build(deps-dev): bump eslint-plugin-github from 4.8.0 to 4.10.0 (#2272)
* build(deps-dev): bump eslint-plugin-github from 4.8.0 to 4.10.0

Bumps [eslint-plugin-github](https://github.com/github/eslint-plugin-github) from 4.8.0 to 4.10.0.
- [Release notes](https://github.com/github/eslint-plugin-github/releases)
- [Commits](https://github.com/github/eslint-plugin-github/compare/v4.8.0...v4.10.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-github
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump prettier

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Peter Evans <18365890+peter-evans@users.noreply.github.com>
2023-09-05 12:58:43 +00: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
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
2b011faafd fix: add check for missing token input (#1324) 2022-11-28 16:10:24 +09:00
Peter Evans
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
b4d51739f9 feat: switch proxy implementation (#1269) 2022-10-18 12:14:51 +09:00
campersau
ddab646771 fix: only strip optional '.git' suffix from https server remote name and not 'Xgit' (#1257) 2022-09-28 12:35:31 +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
2721abb4d0 fix: handle nothing to commit when autocrlf is set (#1211) 2022-08-18 17:20:00 +09:00
tillganster
8557470a68 feat: support no_proxy environment variable (#1205)
Co-authored-by: TGANSTE <till.ganster@mercedes-benz.com>
2022-08-17 12:25:36 +09:00
Keunhong Lee
923ad837f1 force tryFetch (#1189) 2022-06-03 17:30:50 +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
bd72e1b792 fix: use full name for head branch to allow for repo renaming (#1164) 2022-04-08 21:38:55 +09:00
Scott Alexander
15b68d176d fix: strip optional '.git' suffix from https server remote name. (#1153)
* Strip optional '.git' suffix from https server remote name.

* Revert "Strip optional '.git' suffix from https server remote name."

This reverts commit c2e9041213985796111bd85229e2375f407c2752.

* Strip optional '.git' suffix from https server remote name.
2022-03-31 17:10:39 +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
18f7dc018c feat: revert update action runtime to node 16 2022-02-28 21:17:05 +09:00
Sibiraj
89265e8d24 feat: update action runtime to node 16 (#1074)
* fix: prefer getMultilineInput and getBooleanInput from actions/core

* build: update distribution

* feat: update action runtime to node 16

* ci: update setup-node and cache npm dependencies

* revert: getMultilineInput to getInputAsArray

* build: update distribution
2022-02-28 13:55:51 +09:00
Peter Evans
a7bb76508d fix: remove unused draft param from pull update (#1065) 2022-02-23 15:34:53 +09:00
Kenji Miyake
f22a7da129 fix: add '--' to checkout command to avoid ambiguity (#1051)
* fix: add '--' to checkout command to avoid ambiguity

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Update src/git-command-manager.ts

Co-authored-by: Peter Evans <18365890+peter-evans@users.noreply.github.com>

Co-authored-by: Peter Evans <18365890+peter-evans@users.noreply.github.com>
2022-01-31 09:49:59 +09:00
Peter Evans
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
c0a9598b0e feat: add output for head sha 2021-11-04 10:42:17 +09:00
Peter Evans
3263596ac4 fix: set error types to any 2021-09-02 13:59:32 +09:00