name: Deploy API # Only run this workflow when the API directory changes on: push: paths: - 'api/**' branches: - main workflow_dispatch: concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: ci: name: Build and Deploy runs-on: ubuntu-latest strategy: matrix: node-version: [20] steps: - uses: actions/checkout@v4 with: fetch-depth: 6 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' - name: Install dependencies run: pnpm install - name: Build run: pnpm api:build env: WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }} NITRO_PRESET: cloudflare - name: Publish to Cloudflare uses: cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} vars: WEBHOOK_URL env: WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}