steps: - name: build image: node:20-alpine pull: true commands: - npm ci - npm run build when: branch: include: - main event: include: - push - pull_request - name: deploy image: flyio/flyctl:latest pull: true depends_on: - build secrets: - fly_api_token commands: - flyctl deploy --remote-only --config ./fly.toml when: branch: include: - main event: include: - push cache: mount: - node_modules - dist