name: Deploy master to cloudflare pages for test

on:
  push:
    branches: ["master"]

env:
  CLOJURE_VERSION: "1.10.1.763"
  NODE_VERSION: "18"
  JAVA_VERSION: "11"

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Setup Java JDK
        uses: actions/setup-java@v3
        with:
          distribution: "zulu"
          java-version: ${{ env.JAVA_VERSION }}

      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          node-version: ${{ env.NODE_VERSION }}

      - name: Setup clojure
        uses: DeLaGuardo/setup-clojure@11.0
        with:
          cli: ${{ env.CLOJURE_VERSION }}

      - name: Fetch yarn deps
        run: yarn cache clean && yarn install --frozen-lockfile

      - name: Build Released-Web
        run: |
          yarn gulp:build && clojure -M:cljs release app  --config-merge '{:compiler-options {:source-map-include-sources-content false :source-map-detail-level :symbols}}'
          rsync -avz --exclude node_modules --exclude '*.js.map' --exclude android --exclude ios ./static/ ./public/static/
          ls -lR ./public

      - name: Publish to Cloudflare Pages
        uses: cloudflare/pages-action@1
        with:
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: 2553ea8236c11ea0f88de28fce1cbfee
          projectName: "logseq-dev"
          directory: "static"
          gitHubToken: ${{ secrets.GITHUB_TOKEN }}
          branch: "production"
