diff --git a/.ci/gitlab/.gitlab-ci.yml b/.ci/gitlab/.gitlab-ci.yml index 4b8acc283b3..b45db31fc44 100644 --- a/.ci/gitlab/.gitlab-ci.yml +++ b/.ci/gitlab/.gitlab-ci.yml @@ -15,6 +15,9 @@ variables: # SPACK_CI_ENABLE_STACKS: # value: /^.*(cray).*$/ # expand: false + SPACK_CI_ENABLE_STACKS: + value: /^.*(tutorial|build_systems).*$/ + expand: false default: image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] } @@ -59,6 +62,7 @@ default: ######################################## .base-job: variables: + SPACK_CI_BUILDCACHE_VIEW: "append" PIPELINE_MIRROR_TEMPLATE: "single-src-protected-mirrors.yaml.in" SPACK_CI_CONFIG_ROOT: "${SPACK_CI_PACKAGES_ROOT}/.ci/gitlab/configs" SPACK_CI_SCRIPTS_ROOT: "${SPACK_CI_PACKAGES_ROOT}/.ci/gitlab/scripts" diff --git a/.ci/gitlab/configs/copy-only-protected-mirrors.yaml.in b/.ci/gitlab/configs/copy-only-protected-mirrors.yaml.in deleted file mode 100644 index 39e5c733b23..00000000000 --- a/.ci/gitlab/configs/copy-only-protected-mirrors.yaml.in +++ /dev/null @@ -1,11 +0,0 @@ -mirrors: - buildcache-source: - fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/SPACK_REPLACE_VERSION/${SPACK_CI_STACK_NAME} - push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/SPACK_REPLACE_VERSION/${SPACK_CI_STACK_NAME} - source: False - binary: True - buildcache-destination: - fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} - push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} - source: False - binary: True diff --git a/.ci/gitlab/configs/multi-src-mirrors.yaml.in b/.ci/gitlab/configs/multi-src-mirrors.yaml.in index 14efe1d5516..4b05e267dc0 100644 --- a/.ci/gitlab/configs/multi-src-mirrors.yaml.in +++ b/.ci/gitlab/configs/multi-src-mirrors.yaml.in @@ -1,11 +1,19 @@ mirrors: - buildcache-source: + # TODO: Remove the legacy upstream source mirror once views have populated sufficiently + buildcache-source-legacy: fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${PR_TARGET_REF_NAME}/${SPACK_CI_STACK_NAME} push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${PR_TARGET_REF_NAME}/${SPACK_CI_STACK_NAME} source: False binary: True + buildcache-source: + fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${PR_TARGET_REF_NAME} + push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${PR_TARGET_REF_NAME} + view: ${SPACK_CI_STACK_NAME} + source: False + binary: True buildcache-destination: - fetch: ${PR_MIRROR_FETCH_DOMAIN}/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} - push: ${PR_MIRROR_PUSH_DOMAIN}/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} + fetch: ${PR_MIRROR_FETCH_DOMAIN}/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME} + push: ${PR_MIRROR_PUSH_DOMAIN}/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME} + view: ${SPACK_CI_STACK_NAME} source: False binary: True diff --git a/.ci/gitlab/configs/single-src-pr-mirrors.yaml.in b/.ci/gitlab/configs/single-src-pr-mirrors.yaml.in index 0a2775a4a27..c736caa97c3 100644 --- a/.ci/gitlab/configs/single-src-pr-mirrors.yaml.in +++ b/.ci/gitlab/configs/single-src-pr-mirrors.yaml.in @@ -1,6 +1,13 @@ mirrors: + # Look at the no view top level to avoid rebuilding the world + buildcache-noview: + fetch: ${PR_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME} + push: ${PR_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME} + source: False + binary: True buildcache-destination: - fetch: ${PR_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} - push: ${PR_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} + fetch: ${PR_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME} + push: ${PR_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME} + view: ${SPACK_CI_STACK_NAME} source: False binary: True diff --git a/.ci/gitlab/configs/single-src-protected-mirrors.yaml.in b/.ci/gitlab/configs/single-src-protected-mirrors.yaml.in index a55cd727375..81795e4a148 100644 --- a/.ci/gitlab/configs/single-src-protected-mirrors.yaml.in +++ b/.ci/gitlab/configs/single-src-protected-mirrors.yaml.in @@ -1,6 +1,13 @@ mirrors: + # Look at the no view top level to avoid rebuilding the world + buildcache-noview: + fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME} + push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME} + source: False + binary: True buildcache-destination: - fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} - push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME} + fetch: ${PROTECTED_MIRROR_FETCH_DOMAIN}/${CI_COMMIT_REF_NAME} + push: ${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME} + view: ${SPACK_CI_STACK_NAME} source: False binary: True diff --git a/stacks/build_systems/spack.yaml b/stacks/build_systems/spack.yaml index 7ce1b14c5df..3148ff091f5 100644 --- a/stacks/build_systems/spack.yaml +++ b/stacks/build_systems/spack.yaml @@ -17,6 +17,7 @@ spack: - 'uncrustify build_system=cmake' - lz4 # MakefilePackage - mpich~fortran # AutotoolsPackage + - mpich+fortran # AutotoolsPackage - py-setuptools # PythonPackage - openjpeg # CMakePackage - r-rcpp # RPackage