Enhanced Dependency Management
Zetten provides robust hooks for managing task lifecycles, ensuring your environment is always in a known state.
Setup & Teardown
You can define setup and teardown tasks for any task.
[tasks.db_test]
cmd = "pytest tests/db"
setup = "db_init"
teardown = "db_clean"
Behavior
- Setup (
db_init): Runs beforedb_test. Ifsetupfails,db_testis skipped. - Main Task (
db_test): Runs only ifsetupsucceeds. - Teardown (
db_clean): Runs afterdb_testcompletes, regardless of success or failure.
This is crucial for cleanup tasks like dropping test databases or removing temporary files.
DAG Dependencies
Standard dependencies still apply via depends_on:
[tasks.test]
depends_on = ["lint", "build"]
Zetten guarantees lint and build finish successfully before test starts.