3
0
Fork 0
mirror of https://code.forgejo.org/actions/checkout.git synced 2026-03-19 23:03:13 +00:00

Add configurable timeout and retry for git network operations

Add per-attempt timeout (default 300s) and Kubernetes probe-style retry
configuration for git fetch, lfs-fetch, and ls-remote. New action inputs:
timeout, retry-max-attempts, retry-min-backoff, retry-max-backoff.

Fixes https://github.com/actions/checkout/issues/631

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Anatoly Rabkin 2026-03-18 18:06:25 +02:00
parent 0c366fd6a8
commit 5df58a66d1
10 changed files with 342 additions and 81 deletions

View file

@ -118,4 +118,27 @@ export interface IGitSourceSettings {
* User override on the GitHub Server/Host URL that hosts the repository to be cloned
*/
githubServerUrl: string | undefined
/**
* Timeout in seconds for each network git operation attempt (fetch, lfs-fetch, ls-remote).
* 0 means no timeout. Similar to Kubernetes probe timeoutSeconds.
*/
timeout: number
/**
* Maximum number of retry attempts for failed network git operations.
* Similar to Kubernetes probe failureThreshold.
*/
retryMaxAttempts: number
/**
* Minimum backoff time in seconds between retry attempts.
* Similar to Kubernetes probe periodSeconds.
*/
retryMinBackoff: number
/**
* Maximum backoff time in seconds between retry attempts.
*/
retryMaxBackoff: number
}