Skip to content

Cache Semantics

Caches in the sense of the "modular build paths" efforts contain:

  • spack package sources
  • spack build results (incl. spack buildcache usable content)

Cache hierarchy:

  • ESD releases shall feed a world-readable "release cache" (via EBRAINS harbor, i.e. our official OCI registry)
  • Writable dedicated caches per merge request (i.e. something like source branch?) shall provide faster development iteration times.
    • This cache is to be deleted upon MR merge OR if a 7d (TDB) timeout triggers.
    • (These caches might live in some gitlab OCI registry if this enables easier handling of cache flushing.)
  • Any number of additional read-only caches shall be usable.

(Side remark (maybe to be moved to some other issue): spack can read from filesystem and S3 cache locations for package sources, from filesystem and CI registries for buildcache items — however, (as of now) it does not support the use of proxies (not even tsocks/`LD_PRELOAD` stuff is working) → problematic for a general-purpose tool that shall support caches.)

Edited by Eric Müller