name: 'Build'

on:
    push:
        branches:
          - master
        tags:
          - '*'

jobs:
    build:
        runs-on: ubuntu-latest
        container: node:16-buster
        steps:
          - name: Checkout Repository
            uses: actions/checkout@v3
            with:
                submodules: true
          - name: Install CMake
            run: |
                echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/backports.list
                apt-get update
                apt-get install --no-install-recommends -y -t buster-backports cmake
          - name: Install Dependencies
            run: ./scripts/install-dependencies.sh amd64 armhf arm64
          - name: Build
            run: |
                chmod +x ./scripts/ci/run.sh
                ./scripts/ci/run.sh
          - name: Upload Artifacts
            uses: actions/upload-artifact@v3
            with:
                path: ./out/*.AppImage*
          - name: Setup Go
            uses: actions/setup-go@v4
            if: startsWith(github.ref, 'refs/tags/')
            with:
                go-version: '>=1.20.1'
          - name: Create Release
            uses: https://gitea.com/actions/release-action@main
            if: startsWith(github.ref, 'refs/tags/')
            with:
                files: ./out/*.AppImage*        
                api_key: ${{ secrets.RELEASE_TOKEN }}
                title: v${{ github.ref_name }}
                body: "[View Changelog](https://gitea.thebrokenrail.com/minecraft-pi-reborn/minecraft-pi-reborn/src/branch/master/docs/CHANGELOG.md)"