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

Progress Report for Week 5 (June 30 – July 6)

1. What did I get done this week?

  • Implemented and validated the test for ZooWESRunner[2] :

    • Created a test script using pytest that calls main_runner.py with dummy CWL, input, output, and configuration JSONs.
    • Ensured the correct runner initialisation message (Initialised Wes runner) was printed.
  • ⁠ ⁠Resolved multiple runtime errors:

    • Added missing methods: assert_parameters, get_processing_parameters, get_workflow_inputs.
    • Ensured WES runner could inherit behaviour from BaseRunner.
    • Fixed issues due to NoneType in httpx.BasicAuth initialisation.
  • Verified ZooWESRunner test output:

    • Despite a simulated 404, the test flow and runner integration were confirmed to work.
    • Avoided mocking or full network interaction to keep tests lightweight.
  • Analysed and documented structural differences between runners:

    • Noted that ZooConf, ZooInputs, ZooOutputs, and CWLWorkflow were used in Calrissian and ArgoWF but are missing in WES.
    • Decided to address unification in Week 6 to maintain modular structure.
    • Updated runner.py to correctly import and instantiate Execution class.
    • Executed end-to-end simulation with dummy inputs via main_runner.py.

2. Plan for Next Week ( July 7 - July 13 ):

  • Refactor Calrissian and ArgoWF runners:
    • Remove redundant logic from both and utilise shared zoo_conf.py structure.
    • Ensure that both runners load ZooConf, ZooInputs, ZooOutputs, and CWLWorkflow from zoo-runner-common.
  • ⁠Centralise shared config utilities:
    • Move utility classes (resource handling, CWL parsing, namespace logic) into a single file: zoo_conf.py.
  • Test post-refactor functionality:
    • Confirm that test_main_runner_calrissian.py and test_main_runner_argowf.py run successfully using updated imports.

3. Am I blocked on anything?

  • No, I am not currently blocked on anything.

Links to Work Done:

  1. Project Wiki Page: GSoC 2025 Migrating and updating the existing CWL runners · Aryankhare1225/zoo-cwl-runners Wiki · GitHub

  2. Public Repository: GitHub - Aryankhare1225/zoo-wes-runner: Integration of Slurm scheduler with ADES (from cedadev)