unix
unix copied to clipboard
CI: caching is likely broken
CI caches are likely stale (most are from 2023):
A more flexible cache key is needed, either involving
github.sha or a hash of the build plan in dist-newstyle/cache/plan.json (create with cabal build ... --dry-run).
Also due to XDG it could be that the wrong directory is cached now (but this would not matter since the restored caches are anyway hopelessly outdated): https://github.com/haskell/unix/blob/a64ce6db108a4bd3dc621f853ae37706413a1056/.github/workflows/ci.yml#L41-L45
Can you provide a PR? I feel kinda lazy about this.
How would you sort out the XDG issue?
I don't feel like reproducing cabal's XDG logic in each CI. Figuring out the cabal store shouldn't involve hand-knitted code. So either delegate it to haskell-action/setup, or a future cabal that can print the store path, or switch off the XDG logic by creating a .cabal/config before installing cabal. Or, use some action (TM) that sets the XDG_* variables suitable for the OS (and is compatible with cabal's choices).
Just set CABAL_DIR.