diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index a7ef6708..d44684c3 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -31,12 +31,44 @@ jobs: restore-keys: '${{ runner.os }}-gradle-' - name: Make gradlew executable run: chmod +x gradlew - - name: Build with Gradle - uses: gradle/gradle-build-action@093dfe9d598ec5a42246855d09b49dc76803c005 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@6f229686ee4375cc4a86b2514c89bac4930e82c4 with: - arguments: shadowJar - - name: Upload a Build Artifact + gradle-version: 8.4 + - name: Build with Gradle + run: ./gradlew shadowJar + - name: Set build label (release vs snapshot) + run: | + if [ "${{ github.ref_name }}" = "master" ]; then + echo "BUILD_LABEL=Release" >> $GITHUB_ENV + echo "SNAPSHOT_SUFFIX=" >> $GITHUB_ENV + else + echo "BUILD_LABEL=Snapshot" >> $GITHUB_ENV + echo "SNAPSHOT_SUFFIX=- Snapshot" >> $GITHUB_ENV + fi + - name: Determine branch name + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + BRANCH_NAME="${{ github.head_ref }}" + else + BRANCH_NAME="${{ github.ref_name }}" + fi + + # Sanitize branch name (replace / with -) + SAFE_BRANCH_NAME=$(echo "$BRANCH_NAME" | tr '/' '-') + + echo "BRANCH_NAME=$SAFE_BRANCH_NAME" >> $GITHUB_ENV + - name: Set short commit SHA + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + SHA="${{ github.event.pull_request.head.sha }}" + else + SHA="${{ github.sha }}" + fi + + echo "SHORT_SHA=${SHA::7}" >> $GITHUB_ENV + - name: Upload build artifact uses: actions/upload-artifact@v4 with: - name: 'Successfully build EternalCombat' + name: EternalCombat ${{ env.BRANCH_NAME }} ${{ env.SNAPSHOT_SUFFIX }}+${{ env.SHORT_SHA }} path: eternalcombat-plugin/build/libs/*.jar