name: build

on:
  push:
    branches: [ main ]
  pull_request:

env:
  LM_LICENSE_FILE: "${{ github.workspace }}/tools/cw/license.dat"
  CALCROM_DISCORD_WEBHOOK_AVATAR_URL: "https://i.imgur.com/38BQHdd.png"
  CALCROM_DISCORD_WEBHOOK_USERNAME: "OK"
  CALCROM_WEBHOOK_URL: "${{ secrets.WEBHOOKURL }}"

jobs:
  build:
    runs-on: ubuntu-22.04

    steps:
      - name: Install Software
        run: |
          sudo mkdir -pm755 /etc/apt/keyrings
          sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
          sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
          sudo dpkg --add-architecture i386
          sudo apt-get update -y
          sudo apt-get install -y --install-recommends python3-pip ninja-build winehq-stable
          pip install --user meson pyelftools

      - name: Checkout Repo
        uses: actions/checkout@v2

      - name: Configure Repo
        run: ./config.sh

      - name: Build Repo
        run: ./build.sh test

      - name: Webhook
        if: ${{ github.event_name == 'push' }}
        env:
          arm9name: build/
        run: |
          .github/calcrom/webhook.sh "$CALCROM_WEBHOOK_URL" "$GITHUB_WORKSPACE/build/main.nef.xMAP"
        continue-on-error: true

      - name: Post error archive
        if: failure()
        continue-on-error: true
        run: tar czf failure.tar.gz build

      - name: Post error upload
        if: failure()
        uses: actions/upload-artifact@v2
        with:
          name: pokeplatinum-failure-${{ github.run_id }}
          path: failure.tar.gz
          retention-days: 1
