name: Build Pull Request on: [pull_request] jobs: build: runs-on: ubuntu-latest steps: - name: Set up JDK 17 uses: actions/setup-java@v1 with: java-version: 17 distribution: temurin cache: gradle - name: Check if the author has forked the API repo uses: Kas-tle/ForkFinder@v1.0.1 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 uses: actions/checkout@v3 with: submodules: recursive path: geyser - name: Build Geyser uses: gradle/gradle-build-action@v2 with: arguments: build build-root-directory: geyser - name: Archive artifacts (Geyser Fabric) uses: actions/upload-artifact@v2 if: success() with: name: Geyser Fabric path: geyser/bootstrap/fabric/build/libs/Geyser-Fabric.jar - name: Archive artifacts (Geyser Standalone) uses: actions/upload-artifact@v2 if: success() with: name: Geyser Standalone path: geyser/bootstrap/standalone/build/libs/Geyser-Standalone.jar - name: Archive artifacts (Geyser Spigot) uses: actions/upload-artifact@v2 if: success() with: name: Geyser Spigot path: geyser/bootstrap/spigot/build/libs/Geyser-Spigot.jar - name: Archive artifacts (Geyser BungeeCord) uses: actions/upload-artifact@v2 if: success() with: name: Geyser BungeeCord path: geyser/bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar - name: Archive artifacts (Geyser Sponge) uses: actions/upload-artifact@v2 if: success() with: name: Geyser Sponge path: geyser/bootstrap/sponge/build/libs/Geyser-Sponge.jar - name: Archive artifacts (Geyser Velocity) uses: actions/upload-artifact@v2 if: success() with: name: Geyser Velocity path: geyser/bootstrap/velocity/build/libs/Geyser-Velocity.jar