Files
taskrunner/taskrunner.py
T
esilva a2ce3eb343
main / Explore-Gitea-Actions (push) Failing after 13s
pass multiple playbooks as arguments and run them sequentially
2026-08-04 14:39:28 +01:00

42 lines
893 B
Python

import argparse
import traceback
from playbook import Playbook
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Playbook Taskrunner")
# Flag for the playbook file
_ = parser.add_argument(
"-p", "--playbook",
nargs='+',
default=[],
type=str,
required=True,
help="Path to the playbook yaml file"
)
return parser.parse_args()
def main():
args: argparse.Namespace = parse_args()
for arg in args.playbook:
newPlay: Playbook
try:
newPlay = Playbook.from_yaml(arg)
except Exception as e:
print(f"Failed to load playbook: {e}")
traceback.print_exc()
exit(1)
print(newPlay.view_playbook())
log = newPlay.run_play()
print(log.model_dump_json())
if __name__ == "__main__":
main()