# CI Workflow Patterns (DRY Reference) # # All dashboard workflows follow this structure. Keep patterns consistent: # # --- Python Backend Tests --- # Checkout → Setup Python → Cache Python → Install deps → Run tests # # --- Frontend Tests --- # Checkout → Setup Node → Cache Node → Install deps → Run tests # # --- Build Image --- # Checkout → Build & push to registry → Stream to NAS # # --- Deploy --- # Checkout → Sync compose → Deploy → Health check → Smoke tests # # Cache key prefixes: # deploy.yml (main): python, node # deploy-dev.yml (dev): python-dev, node-dev # # Image names: # deploy.yml (main): nas-dashboard:${GITEA_SHA} # deploy-dev.yml (dev): nas-dashboard-dev:${GITEA_SHA}