name: Build Beta on: merge_group: push: branches: - master paths-ignore: - 'src/main/resources/assets/skyblocker/lang/**' pull_request: paths-ignore: - 'src/main/resources/assets/skyblocker/lang/**' jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v4 - uses: actions/github-script@v7 with: result-encoding: string script: | const fs = require("fs"); let file = fs.readFileSync("./gradle.properties"); file = file.toString().split("\n").map(e => e.trim().startsWith("mod_version") ? `${e}-beta-${process.env.GITHUB_SHA.substring(0, 7)}` : e).join("\n"); fs.writeFileSync("./gradle.properties", file); - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'microsoft' java-version: '17' - name: Initialize caches uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/loom-cache ~/.gradle/wrapper key: ${{ runner.os }}-build-external-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-build-external- - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - uses: actions/github-script@v7 id: fname with: result-encoding: string script: | const fs = require("fs") return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0].replace(".jar", ""); - uses: actions/upload-artifact@v4 with: name: ${{ steps.fname.outputs.result }} path: build/libs/