Skip to content

Github Actions: Cache source-build executables and libraries to speed up testing #2140

@yardasol

Description

@yardasol

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).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions