name: Build

on:
  push:
    branches:
      - "*"
    paths-ignore:
      - "README.md"
      - "COPYING"
      - "COPYING.LESSER"
      - ".gitignore"
      - "Update Notes"
  pull_request:
    branches:
      - "*"
    paths-ignore:
      - "README.md"
      - "COPYING"
      - "COPYING.LESSER"
      - ".gitignore"
      - "Update Notes"
  workflow_dispatch:
jobs:
  build:
    env:
      GIT_URL: ${{ github.server_url }}/${{ github.repository }}/tree/${{ github.sha }}
      REF_NAME: ${{ github.ref_name }}
      WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
      ACTOR: ${{ github.actor }}
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Send discord notification
        id: sendmsg
        if: ${{ env.WEBHOOK_URL }}
        run: |
          ./.github/workflows/send_webhook_update.sh
        env:
          STATUS: WORKING
      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: 17
          distribution: temurin
      - name: Set up gradle cache
        uses: gradle/gradle-build-action@v2
      - name: Build with Gradle
        run: ./gradlew clean test remapJar --no-daemon
      - uses: actions/upload-artifact@v3
        with:
          path: build/libs/*.jar
      - name: Update discord notification
        if: ${{ env.WEBHOOK_URL && success() }}
        run: |
          ./.github/workflows/send_webhook_update.sh
        env:
          STATUS: SUCCESS
          MESSAGE_ID: ${{ steps.sendmsg.outputs.MESSAGE_ID }}
      - name: Update discord notification
        if: ${{ env.WEBHOOK_URL && failure() }}
        run: |
          ./.github/workflows/send_webhook_update.sh
        env:
          STATUS: FAILURE
          MESSAGE_ID: ${{ steps.sendmsg.outputs.MESSAGE_ID }}
