name: Build and deploy docs and website

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *'

jobs:

  build:
    name: Deploy docs and website

    runs-on: ubuntu-latest

    steps:

    - name: Checkout sources
      uses: actions/checkout@v3

    - name: Set up JDK 17
      uses: actions/setup-java@v3
      with:
        distribution: 'temurin'
        java-version: '17'
        cache: 'maven'

    - name: Build with Maven
      run: ./mvnw -B verify --file pom.xml

    - name: Setup Graphviz
      uses: ts-graphviz/setup-graphviz@v1

    - name: Create settings.xml
      uses: whelk-io/maven-settings-xml-action@v12
      with:
        servers: '[{ "id": "salespoint", "username": "${env.FTP_USER}", "password": "${env.FTP_PASSWORD}" }]'

    - name: Add TU Dresden to known hosts
      env:
        KNOWN_HOSTS: ${{secrets.KNOWN_HOSTS}}
      run: |
        mkdir -p ~/.ssh/
        echo "$KNOWN_HOSTS" > ~/.ssh/known_hosts

    - name: Deploy to server
      env:
        FTP_USER: ${{ secrets.FTP_USER }}
        FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
      run: ./mvnw -Pdocs -B package site:deploy --file pom.xml
