TofuPilotTofuPilot

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?

On this page