Telcon: 2023 01 18
Tamara Dahlgren edited this page Jan 18, 2023
·
6 revisions
Held Wednesday January 18th, 9am PT
- Peter Scheibel (host)
- Tammy Dahlgren
- Massimiliano Culpo
- Daniele
- Phil Regier
- Alex Richert
(This will be just Q&A - there are no pre-planned general Spack discussion items)
- Daniele: can you run CI on custom package repositories
- Yes, and build binary caches with custom repositories as well
- Tammy: sources and examples:
- https://spack.readthedocs.io/en/latest/pipelines.html#
- https://spack.readthedocs.io/en/latest/command_index.html#spack-ci
- https://spack.readthedocs.io/en/latest/pipelines.html#spack-commands-supporting-pipelines
- https://spack-tutorial.readthedocs.io/en/latest/tutorial_binary_cache.html
- You can just use spack in gitlab to generate a build cache if that is all you want. My (dated?) minimal build-cache example defines only one stage --
build
-- in the.gitlab-ci.yml
. Thebefore_script
for the stage clones spack and sets up the environment (to include copying myspack.yaml
and.gitlab-ci.yml
to$SPACK_ROOT
). Thescript
performsspack install
. Theafter_script
performsspack buildcache create -f -d ${MIRROR_DIR}
and usesspack gpg create
to export/create the gpg key. - Spack supports package definitions of stand-alone tests (https://spack.readthedocs.io/en/latest/packaging_guide.html#stand-alone-or-smoke-tests) to check installed software using the
spack test run
command (https://spack.readthedocs.io/en/latest/command_index.html#spack-test-run and https://spack.readthedocs.io/en/latest/packaging_guide.html#spack-test-run) and the--tests
option tospack ci rebuild
(https://spack.readthedocs.io/en/latest/pipelines.html#spack-ci-rebuild). - Spack currently has one CI stack using the
--tests
option: https://github.com/spack/spack/blob/develop/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml
- Massimiliano: note that
spack ci
is more for doing an ongoing verification of packages using gitlab vs. deploying a set of packages to a distribution etc.
- Alex: trying to use Spack to install everything on a system
- Want to deliver package.py updates as needed
- But not the core
- Peter: for now this is somewhat manual: you would want to update
repos.yaml
to point to a separate git checkout of Spack- beyond that: there are compatibility issues
- E.g. if you pull recipes edited after we added multi-build-system support a couple months ago, those new packages would not work with an older spack
- Massimiliano: upcoming compilers-as-dependencies changes may have a similar effect
- beyond that: there are compatibility issues
- Want to deliver package.py updates as needed