From a564715c0505231f4feffad1fea3b76fca305833 Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Tue, 14 Oct 2025 15:43:04 +0200 Subject: [PATCH 1/4] feat: when deploying profiles also add non standard directory paths --- snakedeploy/deploy.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/snakedeploy/deploy.py b/snakedeploy/deploy.py index 636ac9d..c25e093 100644 --- a/snakedeploy/deploy.py +++ b/snakedeploy/deploy.py @@ -81,8 +81,13 @@ def deploy_profile(self): returns a boolean "no_profile" to indicate if there is not a profile (True) """ - # Handle the profile/ + # Check for profiles directory at root level first profile_dir = Path(self.repo_clone) / "profiles" + + # If not found at root, check under workflow directory + if not profile_dir.exists(): + profile_dir = Path(self.repo_clone) / "workflow" / "profiles" + no_profile = not profile_dir.exists() if no_profile: logger.warning( @@ -91,7 +96,7 @@ def deploy_profile(self): "need or provide any profiles." ) else: - logger.info("Writing template profiles") + logger.info(f"Writing template profiles from {profile_dir.relative_to(self.repo_clone)}") shutil.copytree(profile_dir, self.profiles, dirs_exist_ok=self.force) return no_profile From 51f40bee0bdb41238833f55e392f7d3dbc856aa5 Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Tue, 14 Oct 2025 16:00:32 +0200 Subject: [PATCH 2/4] fix: formatting --- pyproject.toml | 5 ++++- snakedeploy/conda.py | 6 +++--- snakedeploy/deploy.py | 12 +++++++++--- versioneer.py | 10 ++++++---- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index edb2141..1471468 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,4 +74,7 @@ python-build = ">=1.2.2,<2" build = { cmd = "python -m build", description = "Build the package into the dist/ directory" } check-build = { cmd = "python -m twine check dist/*", depends-on = [ "build", -], description = "Check that the package can be uploaded" } \ No newline at end of file +], description = "Check that the package can be uploaded" } + +[tool.black] +line-length = 88 \ No newline at end of file diff --git a/snakedeploy/conda.py b/snakedeploy/conda.py index 80a5bec..ff011f2 100644 --- a/snakedeploy/conda.py +++ b/snakedeploy/conda.py @@ -127,9 +127,9 @@ def process( "Cannot add label to PR without --entity-regex specified." ) - assert pin_envs or update_envs, ( - "bug: either pin_envs or update_envs must be True" - ) + assert ( + pin_envs or update_envs + ), "bug: either pin_envs or update_envs must be True" mode = "bump" if update_envs else "pin" pr = PR( f"perf: auto{mode} {entity}", diff --git a/snakedeploy/deploy.py b/snakedeploy/deploy.py index c25e093..f3a69f7 100644 --- a/snakedeploy/deploy.py +++ b/snakedeploy/deploy.py @@ -83,11 +83,11 @@ def deploy_profile(self): """ # Check for profiles directory at root level first profile_dir = Path(self.repo_clone) / "profiles" - + # If not found at root, check under workflow directory if not profile_dir.exists(): profile_dir = Path(self.repo_clone) / "workflow" / "profiles" - + no_profile = not profile_dir.exists() if no_profile: logger.warning( @@ -96,7 +96,13 @@ def deploy_profile(self): "need or provide any profiles." ) else: - logger.info(f"Writing template profiles from {profile_dir.relative_to(self.repo_clone)}") + logger.info( + f"Writing template profiles from {profile_dir.relative_to(self.repo_clone)}" + ) + logger.info( + "If you adapt this profile for your HPC or VM cluster consider " + "contributing this profile to the original repository." + ) shutil.copytree(profile_dir, self.profiles, dirs_exist_ok=self.force) return no_profile diff --git a/versioneer.py b/versioneer.py index c2a42e6..d5e0eb5 100644 --- a/versioneer.py +++ b/versioneer.py @@ -417,7 +417,9 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env= return stdout, p.returncode -LONG_VERSION_PY["git"] = r''' +LONG_VERSION_PY[ + "git" +] = r''' # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build @@ -1454,9 +1456,9 @@ def get_versions(verbose=False): handlers = HANDLERS.get(cfg.VCS) assert handlers, "unrecognized VCS '%s'" % cfg.VCS verbose = verbose or cfg.verbose - assert cfg.versionfile_source is not None, ( - "please set versioneer.versionfile_source" - ) + assert ( + cfg.versionfile_source is not None + ), "please set versioneer.versionfile_source" assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" versionfile_abs = os.path.join(root, cfg.versionfile_source) From 503905ccfa3a47d6dbf2c1f61a1a30245939ddc6 Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Tue, 14 Oct 2025 16:44:40 +0200 Subject: [PATCH 3/4] fix: unchanged toml --- pyproject.toml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1471468..edb2141 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,4 @@ python-build = ">=1.2.2,<2" build = { cmd = "python -m build", description = "Build the package into the dist/ directory" } check-build = { cmd = "python -m twine check dist/*", depends-on = [ "build", -], description = "Check that the package can be uploaded" } - -[tool.black] -line-length = 88 \ No newline at end of file +], description = "Check that the package can be uploaded" } \ No newline at end of file From cb4d3bfd9fdf64ce17f162839c925c6a44ace482 Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Tue, 14 Oct 2025 16:45:27 +0200 Subject: [PATCH 4/4] fix: unchanged formatting --- snakedeploy/conda.py | 6 +++--- versioneer.py | 10 ++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/snakedeploy/conda.py b/snakedeploy/conda.py index ff011f2..80a5bec 100644 --- a/snakedeploy/conda.py +++ b/snakedeploy/conda.py @@ -127,9 +127,9 @@ def process( "Cannot add label to PR without --entity-regex specified." ) - assert ( - pin_envs or update_envs - ), "bug: either pin_envs or update_envs must be True" + assert pin_envs or update_envs, ( + "bug: either pin_envs or update_envs must be True" + ) mode = "bump" if update_envs else "pin" pr = PR( f"perf: auto{mode} {entity}", diff --git a/versioneer.py b/versioneer.py index d5e0eb5..c2a42e6 100644 --- a/versioneer.py +++ b/versioneer.py @@ -417,9 +417,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env= return stdout, p.returncode -LONG_VERSION_PY[ - "git" -] = r''' +LONG_VERSION_PY["git"] = r''' # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build @@ -1456,9 +1454,9 @@ def get_versions(verbose=False): handlers = HANDLERS.get(cfg.VCS) assert handlers, "unrecognized VCS '%s'" % cfg.VCS verbose = verbose or cfg.verbose - assert ( - cfg.versionfile_source is not None - ), "please set versioneer.versionfile_source" + assert cfg.versionfile_source is not None, ( + "please set versioneer.versionfile_source" + ) assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" versionfile_abs = os.path.join(root, cfg.versionfile_source)