diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b8e899261..7a22756821 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,52 +1,56 @@ -name: build +name: Build on: - workflow_dispatch: - inputs: - publish: - description: Publish to Modrinth and CurseForge - required: true - default: "false" - patch: - description: Patch number, 0 for first (ex. Create 1.19.2 v0.5.0.g Patch N) - required: true - pull_request: push: + pull_request: + workflow_dispatch: + inputs: + publish: + description: Publish to Modrinth and CurseForge + required: true + default: "false" + patch: + description: Patch number, 0 for first (ex. Create 1.19.2 v0.5.0.g Patch N) + required: true jobs: - build: - runs-on: ubuntu-latest - env: - PUBLISH_SUFFIX: snapshots - MAVEN_USER: ${{ secrets.MAVEN_USER }} - MAVEN_PASS: ${{ secrets.MAVEN_PASS }} - MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} - CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} - PATCH_NUMBER: ${{ github.event.inputs.patch }} - PUBLISHING: ${{ github.event.inputs.publish }} - steps: + build: + runs-on: ubuntu-latest + env: + PUBLISH_SUFFIX: snapshots + MAVEN_USER: ${{ secrets.MAVEN_USER }} + MAVEN_PASS: ${{ secrets.MAVEN_PASS }} + MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} + CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} + PATCH_NUMBER: ${{ github.event.inputs.patch }} + PUBLISHING: ${{ github.event.inputs.publish }} + steps: + - name: Setup Java + run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV" - - name: checkout repository - uses: actions/checkout@v4 + - name: Loom Cache + uses: actions/cache@v4 + with: + path: "**/.gradle/loom-cache" + key: "${{ runner.os }}-gradle-${{ hashFiles('**/libs.versions.*', '**/*.gradle*', '**/gradle-wrapper.properties') }}" + restore-keys: "${{ runner.os }}-gradle-" - - name: make gradle wrapper executable - run: chmod +x ./gradlew + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-home-cache-cleanup: true - - name: setup Java - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 17 - cache: gradle + - name: Validate Gradle Wrapper Integrity + uses: gradle/wrapper-validation-action@v2 - - name: build - run: ./gradlew buildOrPublish + - name: Build + run: ./gradlew buildOrPublish - - name: capture build artifacts - uses: actions/upload-artifact@v4 - with: - name: Artifacts - path: build/libs/ + - name: Capture build artifacts + uses: actions/upload-artifact@v4 + with: + name: Artifacts + path: build/libs/ - - name: publish to Modrinth and CurseForge - if: ${{ github.event.inputs.publish }} - run: ./gradlew publishMod + - name: Publish to Modrinth and CurseForge + if: ${{ github.event.inputs.publish }} + run: ./gradlew publishMod