From 5cde41e83e9ec808e883b73f34a67830777aaf73 Mon Sep 17 00:00:00 2001 From: Bob Bird Date: Thu, 16 Jan 2025 13:00:17 -0700 Subject: [PATCH] Fix issue with deployments push on spack packages Previsouly a shadowed pipeline meant this code was never run This PR fixes that, and fixes the code so it works and successfully pushes package definition --- lib/ramble/ramble/pipeline.py | 8 ++++++-- .../spack-lightweight/package_manager.py | 11 ++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/ramble/ramble/pipeline.py b/lib/ramble/ramble/pipeline.py index 36a43dbd6..5c1dac7c9 100644 --- a/lib/ramble/ramble/pipeline.py +++ b/lib/ramble/ramble/pipeline.py @@ -668,8 +668,12 @@ def __init__( self.action_string = "Pushing deployment of" self.require_inventory = True self.create_tar = create_tar - expanded_url = workspace_expander.expand_var(upload_url) - self.upload_url = ramble.util.path.normalize_path_or_url(expanded_url) + + if upload_url: + expanded_url = workspace_expander.expand_var(upload_url) + self.upload_url = ramble.util.path.normalize_path_or_url(expanded_url) + else: + self.upload_url = None if deployment_name: expanded_name = workspace_expander.expand_var(deployment_name) diff --git a/var/ramble/repos/builtin/package_managers/spack-lightweight/package_manager.py b/var/ramble/repos/builtin/package_managers/spack-lightweight/package_manager.py index 1890bd133..18cd2752d 100644 --- a/var/ramble/repos/builtin/package_managers/spack-lightweight/package_manager.py +++ b/var/ramble/repos/builtin/package_managers/spack-lightweight/package_manager.py @@ -408,13 +408,12 @@ def _clean_hash_variables(self, workspace, variables): super()._clean_hash_variables(workspace, variables) register_phase( - "deploy_artifacts", + "deploy_spack_artifacts", pipeline="pushdeployment", - run_after=["software_create_env"], + run_after=["software_create_env", "deploy_artifacts"], ) - def _deploy_artifacts(self, workspace, app_inst=None): - super()._deploy_artifacts(workspace, app_inst=app_inst) + def _deploy_spack_artifacts(self, workspace, app_inst=None): env_path = self.app_inst.expander.env_path try: @@ -1269,7 +1268,9 @@ def package_definitions(self): for pkg in self.env_contents: args = location_args.copy() args.append(pkg) - path = self.execute(self.spack, args, return_output=True) + + path = self.execute(self.spack, args, return_output=True).rstrip() + if path is not None: yield pkg, os.path.join(path, package_def_name)