waleedev01 / analytics_automated_v2

Middleware layer for exposing analytics and distributed computing jobs as web services
Other
1 stars 0 forks source link

Enhance CWL Workflow Parser with Comprehensive Edge Case Handling #46

Closed waleedev01 closed 1 month ago

waleedev01 commented 3 months ago

Tasks

Implement Edge Case Handling:

Single Step Workflow Multiple Steps with Linear Dependencies Multiple Steps with Parallel Execution Complex Dependencies Step with Missing File Dependencies Workflow with Optional Inputs Circular Dependencies Inline CommandLineTool Definitions External CommandLineTool References Conditional Execution Scatter/Gather Pattern Mixed Step Types Steps with Resource Requirements Steps with Unsupported Requirements Steps with Secondary Files* Default Values for Inputs Invalid CWL Syntax Redundant Definitions Large Workflows

Improve Error Handling and Messaging: Provide clear error messages for missing file dependencies. Detect and report circular dependencies. Handle invalid CWL syntax gracefully and report issues. Log and report unsupported requirements.

Testing: Create test cases for each edge case scenario. Validate that the parser correctly identifies and processes each scenario. Ensure that appropriate error messages are displayed for invalid cases.

Clean-Up: Ensure that uploaded CWL files are deleted after processing. Maintain a clean and organized temporary storage.

anisahn09 commented 3 months ago

Tasks

Implement Edge Case Handling:

Single Step Workflow ✅ Multiple Steps with Linear Dependencies ✅ Multiple Steps with Parallel Execution ✅ Complex Dependencies Step with Missing File Dependencies ✅ Workflow with Optional Inputs Circular Dependencies ✅ Inline CommandLineTool Definitions ✅ External CommandLineTool References ✅ Conditional Execution Scatter/Gather Pattern Mixed Step Types ✅ Steps with Resource Requirements Steps with Unsupported Requirements Steps with Secondary Files* Default Values for Inputs Invalid CWL Syntax Redundant Definitions Large Workflows

Improve Error Handling and Messaging: Provide clear error messages for missing file dependencies. Detect and report circular dependencies. ✅ Handle invalid CWL syntax gracefully and report issues. Log and report unsupported requirements.

Testing: Create test cases for each edge case scenario. Validate that the parser correctly identifies and processes each scenario. Ensure that appropriate error messages are displayed for invalid cases.

Clean-Up: Ensure that uploaded CWL files are deleted after processing. Maintain a clean and organized temporary storage.