This file captures the issues and recovery steps documented during the lab workflow.
- 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']
- Review DFS implementation
- Check color state transitions
- Verify all nodes are visited
- Check
mark_downstream_skipped()implementation - Verify BFS traversal of dependency graph
- Ensure status updates propagate correctly
- 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
- Ensure every dependency name exists as a job in the same YAML file
- Check for spelling mismatches in job names