name: Deploy

on: [pull_request, push]

jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      deployments: write
      pull-requests: write 
    name: Deploy
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Build
        run: |
         npm i
         npm run build

      - name: Publish to Cloudflare Pages
        uses: cloudflare/pages-action@v1
        with:
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
          projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }}
          directory: public
        id: publish

      - name: Comment deployment URL
        if: ${{ github.event_name == 'pull_request' }}
        uses: thollander/actions-comment-pull-request@v2
        with:
          GITHUB_TOKEN: ${{ secrets.PULL_REQUESTS_WRITE }}
          message: Deployed at ${{ steps.publish.outputs.alias }}.
