-
-
Notifications
You must be signed in to change notification settings - Fork 389
Caching process update #2467
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Caching process update #2467
Conversation
475c280
to
820d737
Compare
Hopefully it would remove it & its files from being cached in the action. & also not includde into environment.
For future caching configuraiton.
For 1:1 according cache to it.
Sources are stored separately. Before this cache was storing per Platform/GHC sources & compiled results together. While deps sources does not depend on platform or GHC, they are platform & GHC agnostic. Because sources & compiled results were stored togather & sources took ~1/2-2/3 of that - cache stored multiple duplicates of the same source code. This config stores the source code separately. And at the same time tries to store & share all source code which may be needed. & all compiled deps that would be used in different workflows.
9ac4c4a
to
284e203
Compare
[skip circleci] |
284e203
to
ff41e51
Compare
3098f20
to
f97b4bd
Compare
This PR has WIP commits that allow development & review. To not merge the work commits. Please, it needs to be reviewed as a draft, before being marked available for merge. |
Ok. The working results in the PR are in: https://github.com/haskell/haskell-language-server/pull/2467/checks?sha=f97b4bd8794ac9e6ac4121b7cfed8ca92cce08c0 Now cleaning-up the PR from PR-work commits. |
f97b4bd
to
6483d96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great overall, separating sources from compiled code is really a good idea
Nice. After merge, it works as expected. Caching in the |
New code included & shares all source code that may be needed.
New config includes & shares all compiled deps that may be needed in workflows.
New config stores the source code separately, which means it gets stored one time.
Before this cache stored per Platform/GHC - the sources & compiled results
together. It is while sources not depend on platform or GHC, as sources are
platform & GHC agnostic. Because they were always bundled together
& sources took ~1/2-2/3 of that storage - cache stored multiple duplicates of the same
source code.
caching
workflow now downloads, builds & shares all sources & all dependencies for all targets.dist-newstyle
so far is not included in to the cache, (what to cache from them can be looked into in the next updates).