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]