setup-cpp icon indicating copy to clipboard operation
setup-cpp copied to clipboard

Support github cache

Open DiamonDinoia opened this issue 11 months ago • 6 comments

Dear @aminya,

Thank you for providing this action. It is really helpful to me.

I would like to ask if there is any technical reason why github cache cannot be leveraged somehow to avoid re-installing the same packages every time. My pipelines run the same env for multiple jobs and sometimes setup-cpp is the step that takes most of the time (example: https://github.com/DiamonDinoia/finufft/actions/runs/13046204138/job/36416878122). Is it possible to cache the installations, or the resulting image entirely to avoid doing the same work all the time?

Thanks, Marco

edit: if you can help me setting up custom docker images. I am happy to contribute to the documentation

DiamonDinoia avatar Jan 30 '25 15:01 DiamonDinoia

setup-cpp uses the cache where possible (e.g. apt packages are already installed, or brew package is already installed), but there's still room for improvement.

If you're using Linux, you can use the published docker images: https://hub.docker.com/u/aminya https://github.com/aminya/setup-cpp#prebuilt-docker-images

You can create your own images if you have a different setup: https://github.com/aminya/setup-cpp#inside-docker

There are a lot of examples here: https://github.com/aminya/setup-cpp/tree/master/dev/docker

aminya avatar Feb 11 '25 09:02 aminya

I am adding LLVM installation via brew in #367. This should speed up the LLVM installation on Macs

aminya avatar Mar 09 '25 22:03 aminya

Dear @aminya, after the last release my pipelines are failing because OpenMP is not found anymore: https://github.com/flatironinstitute/finufft/actions/runs/13840315537/job/38725974952 This was working until version 1.1.1 https://github.com/flatironinstitute/finufft/commit/dc2931afd39b2cdd3c7a67570a03cc33fa7bc405

Do I need to specify OpenMP to be installed?

Thanks, Marco

DiamonDinoia avatar Mar 17 '25 14:03 DiamonDinoia

I wonder if it's because the LLVM installation via brew doesn't include OpenMP. I'll try to test. Could you pin setup-cpp to 1.1.1 meanwhile?

aminya avatar Mar 17 '25 17:03 aminya

Sure, I pinned to 1.1.1 . Thanks!

DiamonDinoia avatar Mar 17 '25 18:03 DiamonDinoia

I tried: https://github.com/flatironinstitute/finufft/commit/05ec34547708f27be69ca0e41c74d3f7cc9fb444 but brew install libomp is not enough to fix this.

DiamonDinoia avatar Mar 17 '25 18:03 DiamonDinoia