-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Hey @Anirban166 @tdhock
As discussed in tdhock/atime#85, I focused on adding the caching step as part of the Github Action, I initially looked at https://github.com/actions/cache, which had almost everything needed, however a major problem with this was that it did not support accessing the cache outside of a given branch/PR (see https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache)
So I decided to just used Github Artifacts instead, and with the help of an action https://github.com/dawidd6/action-download-artifact/ which allows accessing artifacts from other runs, I was able to cache the packages.
I built upon the work I did for allowing PRs from forks, and added upon it in https://github.com/criticic/data.table-test-work-workflow/blob/master/.github/workflows/atime-run.yml . There are a couple of things that need to be ironed out, for example currently the entire library folder is getting cached, perhaps only the atime built packages should be cached, as well as a few other areas where we can cut our time.
Before caching: https://github.com/criticic/data.table-test-work-workflow/actions/runs/15456059561/job/43508458301 took 14m 5s.
After Caching: https://github.com/criticic/data.table-test-work-workflow/actions/runs/15456248247/job/43508959078 took 5m 18s using roughly 200mb of cached libgit2 build and r libraries.