finufft icon indicating copy to clipboard operation
finufft copied to clipboard

Revamp CI

Open DiamonDinoia opened this issue 6 months ago • 0 comments

Low priority task but is worth starting to consider these issues. Since we increased the number of tests, CI is taking quite a bit to complete. I am drafting some ideas on how to proceed to speedup CI:

  • [ ] Use in-house docker images with dependencies installed
  • [ ] cache docker images https://www.blacksmith.sh/blog/cache-is-king-a-guide-for-docker-layer-caching-in-github-actions
  • [ ] Use sscache to cache c/c++ compiled files https://github.com/DiamonDinoia/finufft/tree/faster-ci-builds. Opened a discussion to sscache to see if it is suits our needs: https://github.com/Mozilla-Actions/sccache-action/discussions/135
  • [ ] use a single job to build and run multiple versions of the library, instead of using N ubuntu images and install the env in all of them, we could use one and run multiple cmake commands to build different version of finufft with the same compiler and run it
  • [ ] Have publish workflows that generate all the artifacts (.so, .a, language wrappers) in one go and publish them to the package managers

Any thoughts/volunteers on this?

DiamonDinoia avatar Aug 01 '24 18:08 DiamonDinoia