name: "Deploy to Itch.io"

on:
  push:
    branches: [ main ]
  workflow_dispatch:

env:
  GODOT_VERSION: 3.4

jobs:
  export:
    strategy:
      matrix:
        target: [[windows, Windows Desktop], [linux, Linux/X11], [mac, Mac OSX], [html, HTML5]]
    runs-on: ubuntu-latest
    container:
      image: barichello/godot-ci:3.4
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup export templates
        run: |
          mkdir -v -p ~/.local/share/godot/templates
          mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
      - name: Build game
        env:
          EXPORT_DIR_NAME: ${{ matrix.target[0] }}
          EXPORT_TARGET_NAME: ${{ matrix.target[1] }}
        run: |
          mkdir -v -p build/$EXPORT_DIR_NAME
          godot -v --export "$EXPORT_TARGET_NAME"
      - name: Itch.io deploy
        env:
          EXPORT_DIR_NAME: ${{ matrix.target[0] }}
          ITCHIO_USERNAME: ${{ secrets.ITCHIO_USERNAME }}
          ITCHIO_GAME: ${{ secrets.ITCHIO_GAME }}
          BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
        run: |
          butler push ./build/$EXPORT_DIR_NAME $ITCHIO_USERNAME/$ITCHIO_GAME:$EXPORT_DIR_NAME
