name: Build Pull Request on: pull_request: jobs: build: runs-on: ubuntu-latest steps: - name: Set up JDK 17 # See https://github.com/actions/setup-java/commits uses: actions/setup-java@4075bfc1b51bf22876335ae1cd589602d60d8758 with: java-version: 17 distribution: temurin - name: Check if the author has forked the API repo # See https://github.com/Kas-tle/find-forks-action/commits uses: Kas-tle/find-forks-action@1b5447d1e3c7a8ed79583dd817cc5399686eed3a id: find_forks with: owner: GeyserMC repo: api token: ${{ secrets.GITHUB_TOKEN }} - name: Use author's API repo if it exists if: ${{ steps.find_forks.outputs.target_branch_found == 'true' }} env: API_FORK_URL: ${{ steps.find_forks.outputs.user_fork_url }} API_FORK_BRANCH: ${{ github.event.pull_request.head.ref }} run: | git clone "${API_FORK_URL}" --single-branch --branch "${API_FORK_BRANCH}" api cd api ./gradlew publishToMavenLocal - name: Checkout repository and submodules # See https://github.com/actions/checkout/commits uses: actions/checkout@72f2cec99f417b1a1c5e2e88945068983b7965f9 with: submodules: recursive path: geyser - name: Validate Gradle Wrapper # See https://github.com/gradle/wrapper-validation-action/commits uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4 - name: Build Geyser # See https://github.com/gradle/gradle-build-action/commits uses: gradle/gradle-build-action@3bfe3a46584a206fb8361cdedd0647b0c4204232 with: arguments: build build-root-directory: geyser - name: Archive artifacts (Geyser Fabric) # See https://github.com/actions/upload-artifact/commits uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser Fabric path: geyser/bootstrap/mod/fabric/build/libs/Geyser-Fabric.jar if-no-files-found: error - name: Archive artifacts (Geyser NeoForge) uses: actions/upload-artifact@v3 if: success() with: name: Geyser NeoForge path: geyser/bootstrap/mod/neoforge/build/libs/Geyser-NeoForge.jar if-no-files-found: error - name: Archive artifacts (Geyser Standalone) uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser Standalone path: geyser/bootstrap/standalone/build/libs/Geyser-Standalone.jar if-no-files-found: error - name: Archive artifacts (Geyser Spigot) uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser Spigot path: geyser/bootstrap/spigot/build/libs/Geyser-Spigot.jar if-no-files-found: error - name: Archive artifacts (Geyser BungeeCord) uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser BungeeCord path: geyser/bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar if-no-files-found: error - name: Archive artifacts (Geyser Velocity) uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser Velocity path: geyser/bootstrap/velocity/build/libs/Geyser-Velocity.jar if-no-files-found: error - name: Archive artifacts (Geyser ViaProxy) uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 if: success() with: name: Geyser ViaProxy path: geyser/bootstrap/viaproxy/build/libs/Geyser-ViaProxy.jar if-no-files-found: error