abnobdoss opened a new issue, #1260:
URL: https://github.com/apache/iceberg-go/issues/1260

   ## Summary
   
   The golangci-lint cache isn't keyed by Go version, so matrix cells running 
different Go versions fight over one cache entry and lint runs cold on every 
other build. Cache saves also run on every branch, so PRs overwrite what `main` 
builds.
   
   ## Current behavior
   
   - The action builds its cache key from `{os}-{workdir}-{interval}-{go.mod 
hash}`, with no Go version and no input to add one, so every matrix cell shares 
one immutable entry.
   - Whichever Go version loses the save-race restores a cache built by the 
other compiler, throws it out, and lints from cold. That's about 25s vs 203s on 
the lint step for the same inputs (roughly 1m42s vs 6m15s per cell).
   - Cache saves aren't gated, so PR branches overwrite the cache `main` builds.
   
   ## Expected behavior
   
   - Each Go version restores its own cache and lint stays fast.
   - Only `main` writes the cache; PRs restore but don't overwrite.
   
   ## Proposed fix
   
   - Skip the action's built-in cache and manage caching with `actions/cache` 
keyed by os + Go version + lockfile.
   - Gate cache saves to `main`.
   - Point Go and golangci-lint at workspace-relative cache dirs so paths match 
on every OS, and set `setup-go` to `cache: false`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to