From aa10284a0a4a61db88d0b40860c8cde1999523ab Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 9 Jan 2025 23:26:06 +0100 Subject: [PATCH] Flatten the default store projection --- etc/spack/defaults/config.yaml | 2 +- lib/spack/docs/pipelines.rst | 2 +- lib/spack/spack/directory_layout.py | 2 +- lib/spack/spack/test/config.py | 2 +- lib/spack/spack/test/directory_layout.py | 4 ++-- share/spack/gitlab/cloud_pipelines/configs/config.yaml | 2 +- share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml index 094c5ef0f9f..9cca52fd353 100644 --- a/etc/spack/defaults/config.yaml +++ b/etc/spack/defaults/config.yaml @@ -19,7 +19,7 @@ config: install_tree: root: $spack/opt/spack projections: - all: "{architecture.platform}/{architecture.target}/{name}-{version}-{hash}" + all: "{architecture.platform}-{architecture.target}/{name}-{version}-{hash}" # install_tree can include an optional padded length (int or boolean) # default is False (do not pad) # if padded_length is True, Spack will pad as close to the system max path diff --git a/lib/spack/docs/pipelines.rst b/lib/spack/docs/pipelines.rst index 8d2b68ac996..bbb4ffad723 100644 --- a/lib/spack/docs/pipelines.rst +++ b/lib/spack/docs/pipelines.rst @@ -330,7 +330,7 @@ that ``--tests`` is passed to ``spack ci rebuild`` as part of the - spack --version - cd ${SPACK_CONCRETE_ENV_DIR} - spack env activate --without-view . - - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture.platform}/{architecture.target}/{name}-{version}-{hash}'" + - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture.platform}-{architecture.target}/{name}-{version}-{hash}'" - mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data - if [[ -r /mnt/key/intermediate_ci_signing_key.gpg ]]; then spack gpg trust /mnt/key/intermediate_ci_signing_key.gpg; fi - if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; fi diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py index 9af45d421b3..9acc66bdecb 100644 --- a/lib/spack/spack/directory_layout.py +++ b/lib/spack/spack/directory_layout.py @@ -21,7 +21,7 @@ from spack.error import SpackError default_projections = { - "all": "{architecture.platform}/{architecture.target}/{name}-{version}-{hash}" + "all": "{architecture.platform}-{architecture.target}/{name}-{version}-{hash}" } diff --git a/lib/spack/spack/test/config.py b/lib/spack/spack/test/config.py index 75535cdde33..7b1b44c5809 100644 --- a/lib/spack/spack/test/config.py +++ b/lib/spack/spack/test/config.py @@ -1226,7 +1226,7 @@ def test_default_install_tree(monkeypatch, default_config): s = spack.spec.Spec("nonexistent@x.y.z arch=foo-bar-baz") monkeypatch.setattr(s, "dag_hash", lambda length: "abc123") _, _, projections = spack.store.parse_install_tree(spack.config.get("config")) - assert s.format(projections["all"]) == "foo/baz/nonexistent-x.y.z-abc123" + assert s.format(projections["all"]) == "foo-baz/nonexistent-x.y.z-abc123" def test_local_config_can_be_disabled(working_env): diff --git a/lib/spack/spack/test/directory_layout.py b/lib/spack/spack/test/directory_layout.py index 5a35cf7ad93..9578d0e4ba6 100644 --- a/lib/spack/spack/test/directory_layout.py +++ b/lib/spack/spack/test/directory_layout.py @@ -34,7 +34,7 @@ def test_yaml_directory_layout_parameters(tmpdir, default_mock_concretization): layout_default = DirectoryLayout(str(tmpdir)) path_default = layout_default.relative_path_for_spec(spec) assert path_default == str( - Path(spec.format("{architecture.platform}/{architecture.target}/{name}-{version}-{hash}")) + Path(spec.format("{architecture.platform}-{architecture.target}/{name}-{version}-{hash}")) ) # Test hash_length parameter works correctly @@ -47,7 +47,7 @@ def test_yaml_directory_layout_parameters(tmpdir, default_mock_concretization): assert len(path_default) - len(path_7) == 25 # Test path_scheme - arch, compiler, package7 = path_7.split(os.sep) + arch, package7 = path_7.split(os.sep) projections_package7 = {"all": "{name}-{version}-{hash:7}"} layout_package7 = DirectoryLayout(str(tmpdir), projections=projections_package7) path_package7 = layout_package7.relative_path_for_spec(spec) diff --git a/share/spack/gitlab/cloud_pipelines/configs/config.yaml b/share/spack/gitlab/cloud_pipelines/configs/config.yaml index b1ea14eb9b5..abc5a4bacda 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/config.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/config.yaml @@ -6,4 +6,4 @@ config: root: /home/software/spack padded_length: 256 projections: - all: "{architecture.platform}/{architecture.target}/{name}-{version}-{hash}" + all: "{architecture.platform}-{architecture.target}/{name}-{version}-{hash}" diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml index a5c3b4abfd3..25b5fb2c245 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml @@ -4,7 +4,7 @@ ci: before_script-: # Test package relocation on linux using a modified prefix # This is not well supported on MacOS (https://github.com/spack/spack/issues/37162) - - - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture.platform}/{architecture.target}/{name}-{version}-{hash}'" + - - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture.platform}-{architecture.target}/{name}-{version}-{hash}'" - match_behavior: first submapping: - match: