Skip to content

feat(CI): introduce support for container builds

Eric Müller requested to merge feat_ci_cache_gcc into master

This adds container-based CI jobs (relying on apptainer) — as a side effect, we can now also provide "Laptop ESD Container Images" via harbor.

To make this feasible, we have to:

  • support installing to configurable prefix folders,
  • make sure that spack spec -y does not produce junk (call it once more, earlier),
  • use package.yaml settings for the compiler (avoid architectural changes when built on other machines (local laptops, etc.)),
  • cache base compiler (gcc) build for ebrainslab.

It introduces a job, build-spack-env-on-runner, that performs automatic build testing — for now it builds the container contents freshly (pulling in build cache contents where available). In the longer time frame this can be changed to work on an preexisting ESD image to speed up the testing?

A second job, sync-esd-image, is introduced that also builds changes (manually triggered), updates the caches and updates the images on harbor.

There are several en-passant "fixes":

  • we disabled py-elephant's test execution, see #86 (closed) for the reason,
  • we modified py-ray as its build tools (bazel) internally tried to download boost from non-existing URLs → updated URLs.
Edited by Eric Müller

Merge request reports