name: Deployment

on:
  push:
    tags:
      - 'v*'

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 16
      uses: actions/setup-java@v1
      with:
        java-version: 16
    - name: Set env
      run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
    - name: Add Arc release
      run: |
        git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
        cd ../Arc
        git tag ${RELEASE_VERSION}
        git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
        cd ../Mindustry
    - name: Create artifacts
      run: |
        ./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
    - name: Update docs
      run: |
        cd ../
        git config --global user.email "cli@github.com"
        git config --global user.name "Github Actions"
        git clone --depth=1 https://github.com/MindustryGame/docs.git
        cd docs
        find . -maxdepth 1 ! -name ".git" ! -name . -exec rm -r {} \;
        cd ../
        cp -a Mindustry/core/build/javadoc/. docs/
        cd docs
        git add .
        git commit -m "Update ${RELEASE_VERSION:1}"
        git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
        cd ../Mindustry
    - name: Update F-Droid build string
      run: |
        git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
        cd ../MindustryBuilds
        echo "Updating version to ${RELEASE_VERSION:1}"
        echo versionName=6-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${GITHUB_RUN_NUMBER} > version_fdroid.txt
        git add .
        git commit -m "Updating to build ${RELEASE_VERSION:1}"
        git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds
        cd ../Mindustry
    - name: Upload client artifacts
      uses: svenstaro/upload-release-action@v2
      with:
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        file: desktop/build/libs/Mindustry.jar
        tag: ${{ github.ref }}
    - name: Upload server artifacts
      uses: svenstaro/upload-release-action@v2
      with:
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        file: server/build/libs/server-release.jar
        tag: ${{ github.ref }}