Progress Report for Week 3 (June 16 – June 22)
1. What did I get done this week?
-
Updated Runners to
develop
Branch :- Synchronised both
zoo-calrissian-runner[1]
andzoo-argowf-runner[2]
repositories to their latestdevelop
branches to align with ongoing development and ensure compatibility with upcoming features and test assets.
- Synchronised both
-
Implemented
main_runner.py
Entrypoint:- Created a unified runner controller script
main_runner.py
which dynamically selects and executes one of the three runners (calrissian
,argowf
,wes
) based on command-line arguments. - This script ensures standardization across runners by following a common interface pattern with unified configuration and JSON input handling.
- Created a unified runner controller script
-
Python Dependency Resolution:
- Encountered dependency incompatibilities when using Python 3.13 with packages required by the
develop
branch (notably withschema_salad
,cwl-utils
, andpycalrissian
). - Solution: Downgraded the environment to Python 3.10, which resolved multiple transitive dependency conflicts without requiring package source modifications.
- Encountered dependency incompatibilities when using Python 3.13 with packages required by the
-
Unit Test for ArgoWF Runner Execution :
- Implemented a test:
test_main_runner_argowf.py[4]
to verify whethermain_runner.py[3]
correctly initializes and runs theZooArgoWorkflowsRunner
with dummy CWL and configuration inputs. - The test uses
subprocess.run()
to simulate real execution and capturesstdout
to assert correct runner initialization. - Successfully passed after proper mocking of the execution handler and a minimal valid CWL structure.
- Implemented a test:
2. Plan for Next Week (June 23 – June 29):
- Target: Extend the unit testing to verify ZooCalrissianRunner using the
main_runner.py
interface. - Create a similar
test_main_runner_calrissian.py
test case using the same dummy CWL, configuration, and mocking pattern used for ArgoWF. - Begin integrating functional test logic for
ZooWESRunner
once a stable mock/test environment is finalized.
3. Am I blocked on anything?
- No, I am not currently blocked on anything.