haskell / unix

POSIX functionality
https://hackage.haskell.org/package/unix
Other
107 stars 92 forks source link

CI: caching is likely broken #320

Open andreasabel opened 7 months ago

andreasabel commented 7 months ago

CI caches are likely stale (most are from 2023): Screenshot 2024-05-03 at 20 05 03 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

hasufell commented 5 months ago

Can you provide a PR? I feel kinda lazy about this.

andreasabel commented 5 months ago

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).

hasufell commented 5 months ago

Just set CABAL_DIR.