From 924e44a9d9fad576cc81d82e8febff462ef6784f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 20 Oct 2024 18:50:50 +0200 Subject: [PATCH 1/4] lint --- spcd/act.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spcd/act.py b/spcd/act.py index 87e9fe1..8153867 100644 --- a/spcd/act.py +++ b/spcd/act.py @@ -9,9 +9,7 @@ from spcd.ci import project, projects from spcd.shell import env -def synchronize( - source: str | None = None, target: str | None = None -) -> None: +def synchronize(source: str | None = None, target: str | None = None) -> None: """Synchronize output towards a target. :param source: where to deploy from From 886fcf3673aadca4d64361f0078d5b752c6d4c62 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 20 Oct 2024 18:52:16 +0200 Subject: [PATCH 2/4] action --- spcd/__init__.py | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/spcd/__init__.py b/spcd/__init__.py index 2064a3d..cf40de2 100644 --- a/spcd/__init__.py +++ b/spcd/__init__.py @@ -44,7 +44,7 @@ def clone_project_branch() -> None: ) -def install_actions(path: Path) -> None: +def install_actions() -> None: """Make actions usable in workflows. :param path: entry point file @@ -54,21 +54,34 @@ def install_actions(path: Path) -> None: name = "action.yaml" root = project.root / "act" vpy = Path(env.SPCD_PYTHON_VENV_BINARIES) / "python" - action = "synchronize" - log.info(action) - directory = root / action - fs.make_directory(directory) - fs.write(directory / name, f"""\ + for action in ["action", "synchronize"]: + log.info(action) + directory = root / action + fs.make_directory(directory) + match action: + case "action": + yaml = """\ +inputs: + arg-1: + required: true + arg_2: + required: true +""" + case "synchronize": + yaml = """\ inputs: source: default: out required: false +""" + yaml = f"""{yaml}\ runs: using: composite steps: - - run: {vpy} -m spcd synchronize -""") - cat(directory / name) + - run: {vpy} -m spcd {action} +""" + fs.write(directory / name, yaml) + cat(directory / name) def install_commands(path: Path) -> None: From c77674afa4519f681bf8512e1ce994c95f346f42 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 20 Oct 2024 18:54:47 +0200 Subject: [PATCH 3/4] inputs --- spcd/__init__.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/spcd/__init__.py b/spcd/__init__.py index cf40de2..c67180d 100644 --- a/spcd/__init__.py +++ b/spcd/__init__.py @@ -60,26 +60,25 @@ def install_actions() -> None: fs.make_directory(directory) match action: case "action": - yaml = """\ -inputs: + inputs = """\ arg-1: required: true arg_2: required: true """ case "synchronize": - yaml = """\ -inputs: + inputs = """\ source: default: out required: false """ - yaml = f"""{yaml}\ + yaml = f"""\ runs: using: composite steps: - run: {vpy} -m spcd {action} -""" +inputs: +{inputs}""" fs.write(directory / name, yaml) cat(directory / name) From c7c0d7c7d7fc7abacc8d929d23ce6e743e664efa Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 20 Oct 2024 19:12:47 +0200 Subject: [PATCH 4/4] action --- spcd/act.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spcd/act.py b/spcd/act.py index 8153867..68ea759 100644 --- a/spcd/act.py +++ b/spcd/act.py @@ -4,11 +4,20 @@ import os from pathlib import Path from rwx import ps +from rwx.log import stream as log from spcd.ci import project, projects from spcd.shell import env +def action() -> None: + """Display action inputs.""" + prefix = "" + for variable, value in sorted(projects.environment.items()): + if variable.startswith(prefix): + log.info("%s = %s", variable, value) + + def synchronize(source: str | None = None, target: str | None = None) -> None: """Synchronize output towards a target.