name: Build
on:
  push:
    branches:
      - main
jobs:
  build:
    env:
      RUNNER_TOOL_CACHE: /toolcache
    runs-on: ubuntu-latest
    steps:
      - run: git config --global core.quotepath false
      - name: Install apt packages
        run: apt update && apt install -y rsync
      - uses: actions/setup-node@v4
          node-version: 23
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: https://github.com/actions/setup-go@v4
        with:
          go-version: '^1.23'
      - name: Setup Hugo
        uses: https://github.com/peaceiris/actions-hugo@v2
        with:
          hugo-version: "latest"
          extended: true
      - name: Setup Hugo modules
        run: hugo mod get -u
      - name: Setup Hugo npm modules
        run: hugo mod npm pack
      - run: npm install
      - name: Run Hugo
        run: hugo --gc --minify
      # - name: upload artifacs
      #   uses: https://github.com/actions/upload-artifact@v3
      #   with: 
      #     name: "test2"
      #     path: "public/**"
      - name: Create private key
        run: |
          echo "${{ secrets.PRIVATE_KEY }}" > /tmp/act_runner_key
          chmod 600 /tmp/act_runner_key
      - name: rsync public directory
        run: |
          rsync -avz --delete -e "ssh -i /tmp/act_runner_key -o StrictHostKeyChecking=no -p ${{ vars.WEBSERVER_PORT }}" ${{ gitea.workspace }}/public/* ${{ vars.WEBSERVER_USER }}@${{ vars.WEBSERVER_HOST }}:/var/www/html