Improve how mirrors are used in gitlab ci, where we have until now thought
of them as only a string.
By configuring ci mirrors ahead of time using the proposed mirror templates,
and by taking advantage of the expressiveness that spack now has for mirrors,
this PR will allow us to easily switch the protocol/url we use for fetching
binary dependencies.
This change also deprecates some gitlab functionality and marks it for
removal in Spack 0.23:
- arguments to "spack ci generate":
* --buildcache-destination
* --copy-to
- gitlab configuration options:
* enable-artifacts-buildcache
* temporary-storage-url-prefix
57 lines
1.9 KiB
YAML
57 lines
1.9 KiB
YAML
spack:
|
|
view: false
|
|
|
|
definitions:
|
|
- compiler_specs:
|
|
- gcc
|
|
- gettext
|
|
|
|
- compiler_target:
|
|
- '%gcc@7.3.1 target=x86_64_v3'
|
|
|
|
- optimized_configs:
|
|
# - gromacs
|
|
- lammps
|
|
# - mpas-model
|
|
- openfoam
|
|
# - palace
|
|
# - py-devito
|
|
# - quantum-espresso
|
|
# - wrf
|
|
|
|
- optimized_libs:
|
|
- mpich
|
|
- openmpi
|
|
|
|
specs:
|
|
- matrix:
|
|
- - $compiler_specs
|
|
- - $compiler_target
|
|
- $optimized_configs
|
|
# - $optimized_libs
|
|
|
|
ci:
|
|
pipeline-gen:
|
|
- build-job:
|
|
image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] }
|
|
before_script:
|
|
- - . "./share/spack/setup-env.sh"
|
|
- . /etc/profile.d/modules.sh
|
|
- spack --version
|
|
- spack arch
|
|
# Use gcc from local container buildcache
|
|
- - spack buildcache rebuild-index /bootstrap/local-cache/
|
|
- sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ /bootstrap/postinstall.sh
|
|
- spack mirror add local-cache /bootstrap/local-cache
|
|
- spack gpg trust /bootstrap/public-key
|
|
- diff /bootstrap/postinstall.sh /bootstrap/postinstall.sh.bkp || echo Done
|
|
- - /bin/bash "${SPACK_ARTIFACTS_ROOT}/postinstall.sh" -fg
|
|
- spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]"
|
|
- signing-job:
|
|
before_script:
|
|
# Do not distribute Intel & ARM binaries
|
|
- - for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep intel-oneapi | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done
|
|
- for i in $(aws s3 ls --recursive ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/ | grep armpl | awk '{print $4}' | sed -e 's?^.*build_cache/??g'); do aws s3 rm ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache/$i; done
|
|
cdash:
|
|
build-group: AWS Packages
|