Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.41 KB

File metadata and controls

54 lines (36 loc) · 1.41 KB

🛠️ Troubleshooting Guide - Lab 14: Dependency-Aware Pipeline Runner

This file captures the issues and recovery steps documented during the lab workflow.

Issue: Jobs execute in wrong order

  • Verify topological sort implementation
  • Check dependency graph construction
  • Ensure in-degree calculation is correct

A quick check:

(venv) toor@ip-172-31-10-214:~/pipeline-runner$ python3 -c "from pipeline_runner import PipelineRunner; r=PipelineRunner('pipeline_config.yaml'); print(r.topological_sort())"
['checkout', 'install_deps', 'lint', 'unit_tests', 'build', 'integration_tests', 'deploy']

Issue: Cycle detection not working

  • Review DFS implementation
  • Check color state transitions
  • Verify all nodes are visited

Issue: Failed jobs do not skip dependents

  • Check mark_downstream_skipped() implementation
  • Verify BFS traversal of dependency graph
  • Ensure status updates propagate correctly

Issue: YAML parsing errors

  • Validate YAML syntax
  • Check indentation and use spaces instead of tabs
  • Verify job names match in dependencies

Example validation:

(venv) toor@ip-172-31-10-214:~/pipeline-runner$ python3 -c "import yaml; yaml.safe_load(open('pipeline_config_fail.yaml')); print('YAML OK')"
YAML OK

Issue: Undefined dependency error

  • Ensure every dependency name exists as a job in the same YAML file
  • Check for spelling mismatches in job names