name: build
on: [ pull_request, push ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4
      - name: Setup JDK 21
        uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: 21
      - name: Validate Gradle Wrapper
        uses: gradle/actions/wrapper-validation@v4
      - name: Setup Gradle
        uses: gradle/actions/setup-gradle@v4
      - name: Make Gradle Wrapper Executable
        run: chmod +x ./gradlew
      - name: Clean
        run: ./gradlew clean
      - name: Build
        run: ./gradlew build
      - name: Get Short Commit Hash
        id: get_short_commit_hash
        run: |
          short_sha=$(echo ${GITHUB_SHA} | cut -c1-7)
          echo "short_sha=$short_sha" >> $GITHUB_OUTPUT
      - name: Upload Build Artifacts
        uses: actions/upload-artifact@v4
        with:
          name: Discord-MC-Chat ${{ steps.get_short_commit_hash.outputs.short_sha }}
          path: build/*.jar
