name: pr

on:
  pull_request:

jobs:
  preview:
    runs-on: docker
    container:
      image: node:20
    steps:
      - uses: https://code.forgejo.org/actions/checkout@v3
      - name: lint
        run: |
          corepack enable
          pnpm install --frozen-lockfile
          pnpm run lint:remark
          pnpm run format:prettier
          git diff --exit-code
      - name: get forgejo.org and move the docs
        run: |
          git clone --recursive --depth 1 https://codeberg.org/forgejo/website/ /tmp/website
          apt-get update -qq && apt-get install -qq -y rsync
          rsync -av --delete ./ /tmp/website/forgejo-docs/${{ env.GITHUB_BASE_REF }}/
      - name: install
        run: |
          cd /tmp/website
          corepack enable
          pnpm install --frozen-lockfile
      - name: build
        run: |
          cd /tmp/website
          colon=':'
          branch=docs_pull_${{ env.GITHUB_REF_NAME }}
          sed -i.orig -e "s|origin$colon '.*|origin$colon 'https$colon//forgejo.codeberg.page',|" -e "s|basePathname$colon '/'|basePathname$colon '/@$branch//'|" src/config.ts
          cat src/config.ts
          corepack enable
          pnpm run build
          mv dist /tmp
      - name: preview
        if: ${{ secrets.WEBSITETOKEN != '' }}
        uses: https://code.forgejo.org/forgejo/action-website-preview@main
        with:
          directory: /tmp/dist
          name: 'docs_pull_${{ env.GITHUB_REF_NAME }}'
          pages-token: ${{ secrets.WEBSITETOKEN }}
          repository: forgejo/docs
          repository-host: codeberg.org
          repository-token: ${{ secrets.WEBSITETOKEN }}
          pr-number: ${{ env.GITHUB_REF_NAME }}
