Commit graph

162 commits

Author SHA1 Message Date
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
Peter Evans
a4f52f8033
fix: list pulls using the correct head format (#2792) 2024-02-28 09:28:24 +09:00