name: CI

# Controls when the action will run.
on:
  # Triggers the workflow on push to master (including merged PRs)
  push:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  update:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
    - name: Updating website.
      uses: appleboy/ssh-action@master
      with:
        host: bocken.org
        username: homepage
        key: ${{ secrets.homepage_ssh }}
        passphrase: ${{ secrets.homepage_pass }}
        port: 22
        script: |
          cd /usr/share/webapps/homepage
          git remote set-url origin https://Alexander:${{ secrets.homepage_gitea_token }}@git.bocken.org/Alexander/homepage
          git fetch origin
          git reset --hard origin/master
          pnpm install --frozen-lockfile
          pnpm run build
          redis-cli KEYS 'recipes:*' | xargs -r redis-cli DEL
          sudo systemctl stop homepage.service
          mkdir -p dist
          rm -rf dist/*
          mv build/* dist/
          rmdir build
          sudo systemctl start homepage.service
