My stack (haskell) project has a few sub-projects which have their own cabal files. My (self-hosted) gitlab CI runner has stack
installed globally and all the builds share the ~/.stack
directory, which seems to be working well, as subsequent builds do not seem to be rebuilding the LTS/snapshot packages.
Further, I have cached all .stack-work
directories in the build dir and the cache restoration seems to be working well. Despite that, in every build I see the following messages...
lambda-haskell-0.1.0.0: unregistering (old configure information not found)
opaleye-codegen-0.0.0: unregistering (missing dependencies: opaleye-helpers, steroids)
opaleye-helpers-0.1.0.0: unregistering (old configure information not found)
poi-bin-0.1.0.0: unregistering (missing dependencies: opaleye-codegen)
steroids-0.1.1: unregistering (old configure information not found)
webservice-0.1.0.0: unregistering (missing dependencies: lambda-haskell, opaleye-helpers, poi-bin)
... and this results in the main package, i.e. webservice
, being compiled from scratch, which wastes a lot of time.
What else do I need to cache? What "old configure information" is being referred to and where is it stored?