fix: address self-review NIT findings on PR #93
PR Ready Gate / clear-labels (pull_request) Successful in 2s
CI / test (pull_request) Successful in 22s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 37s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 2m9s
CI / review (gpt-5, security, ., rodin/security-patterns, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 2m17s

- Add timer.Stop() on happy path in retry loop (idiomatic)
- Add concurrency caveat to Client doc comment for SetHTTPClient/SetRetryBackoff
- Add explicit 'stale'/'waiting' cases to mapCheckRunStatus
This commit is contained in:
claw
2026-05-12 16:25:32 -07:00
parent ae91c8aef5
commit c10bb72117
2 changed files with 5 additions and 1 deletions
+3 -1
View File
@@ -66,7 +66,8 @@ func asAPIError(err error) (*APIError, bool) {
}
// Client interacts with the GitHub API.
// A Client is safe for concurrent use by multiple goroutines.
// A Client is safe for concurrent use by multiple goroutines;
// however, SetHTTPClient and SetRetryBackoff must not be called concurrently with requests.
type Client struct {
baseURL string
token string
@@ -145,6 +146,7 @@ func (c *Client) doRequest(ctx context.Context, method, url string, accept strin
timer := time.NewTimer(delay)
select {
case <-timer.C:
timer.Stop()
case <-ctx.Done():
timer.Stop()
return nil, ctx.Err()
+2
View File
@@ -220,6 +220,8 @@ func mapCheckRunStatus(conclusion *string, _ string) string {
return "failure"
case "cancelled", "skipped", "neutral":
return "success" // non-blocking
case "stale", "waiting":
return "pending"
default:
return "pending"
}