Commit Graph

212 Commits

Author SHA1 Message Date
Peter Evans ca2f66fc96 fix: only remove credentials created by this action instance
Previously, removeIncludeIfCredentials() deleted all includeIf.gitdir
entries matching git-credentials-*.config, regardless of which action
created them. This broke subsequent workflow steps that relied on
credentials persisted by other actions (e.g., actions/checkout@v6).

Now the cleanup only removes the specific credentials file and config
entries created by this action instance, leaving other actions'
credentials intact.
2026-01-23 09:43:33 +00:00
Peter Evans 64240115db fix: use --fixed-value flag when unsetting git config values
The tryConfigUnsetValue method was passing file paths directly to
`git config --unset`, which treats the value argument as an extended
regular expression. File paths contain `.` characters that would match
any character instead of literal periods, potentially causing incorrect
matches.

Adding the --fixed-value flag ensures the value is treated as a literal
string, fixing credential config cleanup in the v6-style authentication.
2026-01-21 17:59:11 +00:00
Peter Evans 4924300074 feat: adopt checkout@v6 auth pattern using credentials files
Replace the workaround that hid/restored checkout@v6 credential files
with a proper implementation that aligns with actions/checkout@v6's
new authentication approach.

Changes:
- Store credentials in separate config file in RUNNER_TEMP with UUID
- Use git's includeIf.gitdir mechanism to conditionally include credentials
- Support both host and Docker container paths for credential resolution
- Add worktree path support for git worktrees
- Maintain backwards compatibility with checkout@v4/v5 old-style auth

GitCommandManager:
- Add configFile parameter to config() method
- Add tryConfigUnsetValue() for key-value specific unset
- Add tryGetConfigValues() for multi-value config keys
- Add tryGetConfigKeys() for regex pattern matching config keys

GitConfigHelper:
- Remove hacky hide/unhide credential file approach
- Add getCredentialsConfigPath() for UUID-based credential file paths
- Add configureIncludeIf() for setting up includeIf entries
- Add removeIncludeIfCredentials() for cleanup
- Retain setExtraheaderConfig() for restoring old-style persisted auth
2026-01-21 16:58:41 +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
actions-bot 34aa40e9cf build: update distribution (#4289) 2026-01-15 07:55:19 +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 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
actions-bot 8ac8226b96 build: update distribution (#4095) 2025-08-05 18:15:22 +01:00
actions-bot e5a03b409a build: update distribution (#4054) 2025-07-15 15:37:03 +01:00
actions-bot 14576695c2 build: update distribution (#3923) 2025-04-15 15:46:56 +01:00
actions-bot a7b20e1da2 build: update distribution (#3898) 2025-04-08 14:43:29 +01:00
actions-bot 98106d3f2b build: update distribution (#3845) 2025-03-25 15:00:14 +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
actions-bot 25575a12f3 build: update distribution (#3736) 2025-02-18 09:04:50 -08:00
actions-bot 8a41570d99 build: update distribution (#3691) 2025-02-15 01:45:38 -08:00
actions-bot 479e1068be build: update distribution (#3680) 2025-02-11 05:24:01 -08:00
actions-bot 176fdd231e build: update distribution (#3647) 2025-01-21 05:39:35 -08:00
Peter Evans 2539354181 build(deps): bump octokit dependencies (#3618) 2025-01-16 07:40:29 -08:00
actions-bot ae3093d7e8 build: update distribution (#3603) 2025-01-07 05:34:38 -08:00
Peter Evans 67ccf781d6 fix: preserve unicode in filepaths when commit signing (#3588) 2024-12-27 02:51:52 -08:00
actions-bot bb88e27d3f build: update distribution (#3583) 2024-12-27 02:23:11 -08:00
actions-bot 507d0a9edf build: update distribution (#3529) 2024-11-26 05:31:14 -08:00
Peter Evans 0c478ad1a0 chore: use node-fetch-native support for proxy env vars (#3483) 2024-11-04 04:59:34 -08:00
actions-bot 6d751ce675 build: update distribution (#3478)
Co-authored-by: peter-evans <18365890+peter-evans@users.noreply.github.com>
2024-11-04 03:57:32 -08:00
actions-bot dcbbee9996 build: update distribution (#3451) 2024-10-15 05:46:26 -07:00
actions-bot 41fe70dee0 build: update distribution (#3423) 2024-10-08 12:45:43 -07:00
actions-bot 5fb55cc7c4 build: update distribution (#3388) 2024-10-01 06:26:50 -07:00
actions-bot 7920c48d6a build: update distribution (#3370) 2024-09-24 09:06:56 -07: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
actions-bot 00897e0bc2 build: update distribution (#3221) 2024-08-20 13:59:43 +01:00
actions-bot ba864ad40c build: update distribution (#3154) 2024-08-13 13:19:36 +01:00
Peter Evans c5a7806660 feat: add branch name output (#2995) 2024-06-18 09:51:55 -07:00
actions-bot 4383ba9ef0 build: update distribution (#2990) 2024-06-18 06:16:01 -07:00
actions-bot e30bbbb3c9 build: update distribution (#2947) 2024-06-04 10:11:08 -07:00
actions-bot b5ed4c38bc build: update distribution (#2921) 2024-05-28 06:21:15 -07:00
actions-bot bdffaf9259 build: update distribution (#2907) 2024-05-21 22:58:20 +09:00
actions-bot 8c75f4ab5f build: update distribution (#2878) 2024-04-30 22:08:44 +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 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