Depends On
Control execution order between phases with dependencies.
You can control execution order between phases using the depends_on parameter.
main:
- name: Power On
key: power_on
python: phases.power_on
- name: Test WiFi
key: test_wifi
python: phases.test_wifi
depends_on: [power_on]
- name: Test Bluetooth
key: test_bluetooth
python: phases.test_bluetooth
depends_on: [power_on]
- name: Final Check
key: final_check
python: phases.final_check
depends_on: [test_wifi, test_bluetooth] TofuPilot waits for all dependencies to complete before executing a phase. Dependencies reference phase keys, not phase names.
Validation
TofuPilot validates dependencies to prevent execution errors:
- Circular dependencies: Detects and prevents cycles (e.g., A waits for B, B waits for A)
- Orphaned dependencies: Errors if a phase depends on a non-existent phase key
- Maximum dependencies: Each phase can have up to 100 dependencies
How is this guide?