name: Build documentation

on:
  push:
    branches:
    - mc-1.15.x

jobs:
  make_doc:
    name: Build
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up Java 8
      uses: actions/setup-java@v1
      with:
        java-version: 8

    - name: Cache gradle dependencies
      uses: actions/cache@v2
      with:
        path: ~/.gradle/caches
        key: ${{ runner.os }}-gradle-${{ hashFiles('gradle.properties') }}
        restore-keys: |
          ${{ runner.os }}-gradle-

    - name: Setup illuaminate
      run: |
        test -d bin || mkdir bin
        test -f bin/illuaminate || wget -q -Obin/illuaminate https://squiddev.cc/illuaminate/linux-x86-64/illuaminate
        chmod +x bin/illuaminate

    - name: Setup node
      run: npm ci

    - name: Build with Gradle
      run: ./gradlew compileJava --no-daemon || ./gradlew compileJava --no-daemon

    - name: Generate documentation
      run: ./gradlew docWebsite javadoc --no-daemon

    - name: Upload documentation
      run: .github/workflows/make-doc.sh 2> /dev/null
      env:
        SSH_KEY:  ${{ secrets.SSH_KEY  }}
        SSH_USER: ${{ secrets.SSH_USER }}
        SSH_HOST: ${{ secrets.SSH_HOST }}
        SSH_PORT: ${{ secrets.SSH_PORT }}
