GSoC 2025: Week 11 Report: Migrating and updating the existing CWL runners

Progress Report for Week 11 (Aug 11 – Aug 17)

1. What did I get done this week?

  • CI split into Unit & Integration jobs in zoo-cwl-runners:
    • Unit job runs minimal tests under tests/unit with Python 3.10.
    • Integration job added to fetch runner/common repos and run integration tests (with Calrissian temporarily skipped).
  • Workflow trigger fixes:
    • enabled push/PR on main and workflow_dispatch; ensured PYTHONPATH=$PWD for unit tests.
  • Dependency alignment:
    • standardized CI to Python 3.10 (matching prior Week 3 resolution).
  • Packaging work (local deps checked out by CI under deps/):
    • zoo-runner-common: added pyproject.toml (setuptools with py_modules), editable install now succeeds.
    • zoo-template-common: Poetry build failed because zoo_template_common/ package dir is missing/empty; identified fix (create package folder and init.py, or switch to setuptools py_modules).
  • Repo checkout corrections:
    • Fixed integration job to use your forks (Aryankhare…) and corrected name mismatch for WES earlier (now using your fork).
  • Known blockers captured by CI:
    • Unit job: main_runner.py imports runners at import-time; causes ModuleNotFoundError without installed runners.
    • Integration job: zoo-template-common packaging not yet recognized; Calrissian runner may still need special handling due to pycalrissian.

2. Plan for Next Week ( Aug 18 - Aug 24):

  • Finish packaging for zoo-template-common

    • Create zoo_template_common/ folder, move common_execution_handler.py & common_stac_io.pyinside, add init.py, keep Poetry pyproject.toml.
    • Re-run integration job to confirm editable install works.
  • Stabilize main_runner.py imports (unit job)

    • Make runner imports lazy (inside a function) or guard with SKIP_RUNNER_IMPORTS=1 in unit job so import main_runner succeeds without runners installed.
  • Advance integration CI incrementally

    • Keep Argo & WES integration tests running.
    • For Calrissian: either pin a known-good pycalrissian or continue skipping with -k "not calrissian"until resolved.
  • Add CI badge & brief docs

    • Once green, add GitHub Actions badge to README.md.
    • Document the CI layout (unit vs integration, how deps are checked out/installed).

3. Am I blocked on anything?

  • No, I am not currently blocked on anything.

4. Refrences:

[1] - GitHub - Aryankhare1225/zoo-runner-common: Common code for ZOO runners – includes ZooStub and BaseRunner
[2] - GitHub - Aryankhare1225/zoo-cwl-runners: Centralized repository for ZOO-Project CWL runners