Whenever a commit is made to a PR, the openmc
executable is built and ran for 11 different cases. This takes a lot of computational resources, as well as time. This is not ideal if the commit is something small and not directly related to the C++ source code, like docstrings, docpages, and the Python API
Github Actions supports caching to speed up these kinds of processes.
I propose that we modify the ci.yml
workflow to do the following:
- create independent caches for each of the 11 different cases
- If a commit contains no changes to
src
, restore from the cache for that case; otherwise, build the source code and store the new sources in the cache.
This workflow does this kind of caching, albeit in the simplest case (serial HDF5, no extra libraries).