# ── Appwrite: Schema Deploy ──────────────────────────────────────────────────── # Triggered only when files inside apps/appwrite/ change. # main branch → deploys to production Appwrite project # staging branch → deploys to staging Appwrite project # # Uses the Appwrite CLI (via apps/appwrite/scripts/deploy.sh) to push the # schema defined in apps/appwrite/appwrite.json declaratively. # # Required Woodpecker secrets: # prod_appwrite_endpoint # prod_appwrite_project_id # prod_appwrite_api_key needs databases.write + collections.write scopes # staging_appwrite_endpoint # staging_appwrite_project_id # staging_appwrite_api_key # ───────────────────────────────────────────────────────────────────────────── when: - event: push branch: - main - staging path: include: - apps/appwrite/** steps: - name: deploy-production image: node:20-alpine environment: APPWRITE_ENDPOINT: from_secret: prod_appwrite_endpoint APPWRITE_PROJECT_ID: from_secret: prod_appwrite_project_id APPWRITE_API_KEY: from_secret: prod_appwrite_api_key commands: - npm ci - npm run deploy -w @budgetwise/appwrite when: - branch: main event: push - name: deploy-staging image: node:20-alpine environment: APPWRITE_ENDPOINT: from_secret: staging_appwrite_endpoint APPWRITE_PROJECT_ID: from_secret: staging_appwrite_project_id APPWRITE_API_KEY: from_secret: staging_appwrite_api_key commands: - npm ci - npm run deploy -w @budgetwise/appwrite when: - branch: staging event: push