
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
59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
spack:
|
|
view: false
|
|
|
|
definitions:
|
|
- compiler_specs:
|
|
- gcc
|
|
- gettext
|
|
|
|
- compiler_target:
|
|
- '%gcc@7.3.1 target=aarch64'
|
|
|
|
- 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": [""] }
|
|
tags: ["aarch64"]
|
|
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
|