2019-11-29 00:05:33 +01:00
|
|
|
name: Build Pull Request
|
|
|
|
|
2023-03-08 03:59:21 +01:00
|
|
|
on:
|
|
|
|
pull_request:
|
2024-03-08 22:32:28 +01:00
|
|
|
merge_group:
|
2019-11-29 00:05:33 +01:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-07-12 16:24:53 +02:00
|
|
|
- name: Set up JDK 17
|
2023-09-13 16:46:45 +02:00
|
|
|
# See https://github.com/actions/setup-java/commits
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
|
2019-11-29 00:05:33 +01:00
|
|
|
with:
|
2022-07-12 16:24:53 +02:00
|
|
|
java-version: 17
|
2023-02-17 20:37:01 +01:00
|
|
|
distribution: temurin
|
|
|
|
|
|
|
|
- name: Check if the author has forked the API repo
|
2023-09-13 16:46:45 +02:00
|
|
|
# See https://github.com/Kas-tle/find-forks-action/commits
|
|
|
|
uses: Kas-tle/find-forks-action@1b5447d1e3c7a8ed79583dd817cc5399686eed3a
|
2023-02-17 20:37:01 +01:00
|
|
|
id: find_forks
|
|
|
|
with:
|
|
|
|
owner: GeyserMC
|
|
|
|
repo: api
|
|
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
|
|
|
|
- name: Use author's API repo if it exists
|
2023-06-18 23:45:59 +02:00
|
|
|
if: ${{ steps.find_forks.outputs.target_branch_found == 'true' }}
|
2023-02-17 20:37:01 +01:00
|
|
|
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
|
2023-09-13 16:46:45 +02:00
|
|
|
# See https://github.com/actions/checkout/commits
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
2023-02-17 20:37:01 +01:00
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
path: geyser
|
|
|
|
|
2023-09-13 16:46:45 +02:00
|
|
|
- name: Validate Gradle Wrapper
|
|
|
|
# See https://github.com/gradle/wrapper-validation-action/commits
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: gradle/wrapper-validation-action@699bb18358f12c5b78b37bb0111d3a0e2276e0e2 # v2.1.1
|
2023-09-13 16:46:45 +02:00
|
|
|
|
2023-02-17 20:37:01 +01:00
|
|
|
- name: Build Geyser
|
2023-09-13 16:46:45 +02:00
|
|
|
# See https://github.com/gradle/gradle-build-action/commits
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0 from https://github.com/gradle/actions/commits
|
2023-02-17 20:37:01 +01:00
|
|
|
with:
|
|
|
|
arguments: build
|
|
|
|
build-root-directory: geyser
|
2022-10-17 02:21:29 +02:00
|
|
|
|
|
|
|
- name: Archive artifacts (Geyser Fabric)
|
2023-09-13 16:46:45 +02:00
|
|
|
# See https://github.com/actions/upload-artifact/commits
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
2022-10-17 02:21:29 +02:00
|
|
|
if: success()
|
|
|
|
with:
|
|
|
|
name: Geyser Fabric
|
2024-02-23 17:58:39 +01:00
|
|
|
path: geyser/bootstrap/mod/fabric/build/libs/Geyser-Fabric.jar
|
|
|
|
if-no-files-found: error
|
|
|
|
- name: Archive artifacts (Geyser NeoForge)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2024-02-23 17:58:39 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
|
|
|
name: Geyser NeoForge
|
|
|
|
path: geyser/bootstrap/mod/neoforge/build/libs/Geyser-NeoForge.jar
|
2023-03-08 03:59:21 +01:00
|
|
|
if-no-files-found: error
|
2020-03-05 09:21:23 +01:00
|
|
|
- name: Archive artifacts (Geyser Standalone)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2019-11-29 00:05:33 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
2020-03-05 09:21:23 +01:00
|
|
|
name: Geyser Standalone
|
2023-02-22 15:11:06 +01:00
|
|
|
path: geyser/bootstrap/standalone/build/libs/Geyser-Standalone.jar
|
2023-03-08 03:59:21 +01:00
|
|
|
if-no-files-found: error
|
2020-05-26 16:47:34 +02:00
|
|
|
- name: Archive artifacts (Geyser Spigot)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2020-03-05 09:21:23 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
2020-05-26 16:47:34 +02:00
|
|
|
name: Geyser Spigot
|
2023-02-22 15:11:06 +01:00
|
|
|
path: geyser/bootstrap/spigot/build/libs/Geyser-Spigot.jar
|
2023-03-08 03:59:21 +01:00
|
|
|
if-no-files-found: error
|
2020-03-05 09:21:23 +01:00
|
|
|
- name: Archive artifacts (Geyser BungeeCord)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2020-03-05 09:21:23 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
|
|
|
name: Geyser BungeeCord
|
2023-02-22 15:11:06 +01:00
|
|
|
path: geyser/bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar
|
2023-03-08 03:59:21 +01:00
|
|
|
if-no-files-found: error
|
2020-03-05 09:21:23 +01:00
|
|
|
- name: Archive artifacts (Geyser Velocity)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2020-03-05 09:21:23 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
|
|
|
name: Geyser Velocity
|
2023-02-22 15:11:06 +01:00
|
|
|
path: geyser/bootstrap/velocity/build/libs/Geyser-Velocity.jar
|
2023-03-08 03:59:21 +01:00
|
|
|
if-no-files-found: error
|
2024-02-19 22:25:49 +01:00
|
|
|
- name: Archive artifacts (Geyser ViaProxy)
|
2024-03-04 23:37:45 +01:00
|
|
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
|
2024-02-19 22:25:49 +01:00
|
|
|
if: success()
|
|
|
|
with:
|
|
|
|
name: Geyser ViaProxy
|
|
|
|
path: geyser/bootstrap/viaproxy/build/libs/Geyser-ViaProxy.jar
|
|
|
|
if-no-files-found: error
|
2024-04-18 16:29:40 +02:00
|
|
|
|
|
|
|
- name: Trigger Preview Deployment
|
|
|
|
if: >-
|
|
|
|
contains(github.event.pull_request.labels.*.name, 'PR: Needs Testing')
|
|
|
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
|
|
|
|
with:
|
|
|
|
script: |
|
|
|
|
github.rest.actions.createWorkflowDispatch({
|
|
|
|
owner: context.repo.owner,
|
|
|
|
repo: context.repo.repo,
|
|
|
|
workflow_id: 'preview.yml',
|
|
|
|
ref: 'master',
|
|
|
|
inputs: {
|
|
|
|
runId: '${{ github.run_id }}',
|
|
|
|
build: '${{ github.run_number }}',
|
|
|
|
version: 'pr.${{ github.event.pull_request.number }}'
|
|
|
|
}
|
|
|
|
});
|