ci: make golangci-lint cache configurable - #41
Conversation
Process: faster CI feedback shortens delivery time for fixes to the top-priority SneatBot.
|
Controlled Sneat-Go timing result: do not change the default. The linked Sneat-Go probe #839 compared the current cache-off workflow with a first cache-enabled run and an exact-SHA warm rerun.
Although the warm analysis itself was faster, cache transfer erased the gain. The exact warm run was still 15s slower overall, while a changed key imposed several minutes of overhead. Closing without merge; v1.10.4 remains the active released policy with |
Process: accurate CI cache measurements shorten feedback time for fixes to the top-priority SneatBot.
|
Reopening for a stricter follow-up requested after reviewing the first probe. The first experiment restored a prior seven-day cache through the action's prefix fallback, so it did not answer whether a cache built only from the decoupled repository is worthwhile. This branch now exposes The follow-up will measure:
No existing cache is deleted. |
What changed
golangci_lint_cachereusable-workflow input, enabled by defaultWhy
Sneat-Go's old lint cache had accumulated analysis for extensions subsequently removed from the repository. A stale-seeded cache made CI slower, but a cache populated exclusively from the decoupled repository is small and materially faster.
Process: faster CI feedback shortens delivery time for fixes to the top-priority SneatBot.
Sneat-Go timing evidence
The two clean warm runs are 51–62 seconds faster than cache-off. The clean archive is about 98.5% smaller than the stale archive.
Validation
actionlint .github/workflows/workflow.yml .github/workflows/ci.yml .github/workflows/release.ymlgo test ./...go vet ./...git diff --checkRollout
After release, delete only Sneat-Go's stale
golangci-lint.cacheentries, update the Sneat-Go probe to the immutable release commit, and require its normal PR/main/deployment gates.