name: "Build"

on:
  push:
    tags:
      - '*'

env:
  PROJECT_NAME: oh-my-git
  GODOT_VERSION: 3.2.3

jobs:
  build:
    runs-on: ubuntu-20.04
    container:
      image: barichello/godot-ci:3.2.3
    steps:
      - name: Get tag name
        id: tag_name
        run: echo ::set-output name=TAG_NAME::${GITHUB_REF#refs/tags/}
      - name: Install dependencies
        run: apt-get update && apt-get install -y rsync p7zip make
      - uses: actions/checkout@v2
      - name: Setup
        run: |
          mkdir -p ~/.local/share/godot/templates
          mv /root/.local/share/godot/templates/$GODOT_VERSION.stable ~/.local/share/godot/templates/$GODOT_VERSION.stable
      - name: Build Linux
        run: make linux
      - name: Build macOS
        run: make macos
      - name: Build Windows
        run: make windows
      - name: Clean up
        run: make clean-unzipped
      - name: Deploy Linux
        uses: josephbmanley/butler-publish-itchio-action@v1.0.3
        env:
          BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }}
          CHANNEL: linux
          ITCH_GAME: ${{ env.PROJECT_NAME }}
          ITCH_USER: blinry
          PACKAGE: build/${{ env.PROJECT_NAME }}-linux.zip
          VERSION: ${{ steps.tag_name.outputs.TAG_NAME }}
      - name: Deploy macOS
        uses: josephbmanley/butler-publish-itchio-action@v1.0.3
        env:
          BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }}
          CHANNEL: osx
          ITCH_GAME: ${{ env.PROJECT_NAME }}
          ITCH_USER: blinry
          PACKAGE: build/${{ env.PROJECT_NAME }}-macos.zip
          VERSION: ${{ steps.tag_name.outputs.TAG_NAME }}
      - name: Deploy Windows
        uses: josephbmanley/butler-publish-itchio-action@v1.0.3
        env:
          BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }}
          CHANNEL: windows
          ITCH_GAME: ${{ env.PROJECT_NAME }}
          ITCH_USER: blinry
          PACKAGE: build/${{ env.PROJECT_NAME }}-windows.zip
          VERSION: ${{ steps.tag_name.outputs.TAG_NAME }}