Java CI #730
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Java CI | |
on: | |
workflow_dispatch: | |
push: | |
pull_request: | |
schedule: | |
- cron: '22 13 * * 6' | |
jobs: | |
# Build 1.16.5 NMS | |
v1_16_R3: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 16 # 1.16.5 can be built with Java 8 to Java 16 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '16' | |
- name: Cache 1.16.5 Maven package | |
id: cacheNether | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository/org/bukkit/craftbukkit/1.16.5-R0.1-SNAPSHOT/ | |
key: ${{ runner.os }}-v1_16_R3 | |
restore-keys: ${{ runner.os }}-v1_16_R3 | |
- name: Cache Maven packages | |
id: cacheMain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-v1_16_R3 | |
restore-keys: ${{ runner.os }}-m2-v1_16_R3 | |
- name: Setup BuildTools | |
run: mkdir BuildTools && wget -O BuildTools/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar | |
- name: Check 1.16.5 | |
id: nether | |
run: test -f ~/.m2/repository/org/bukkit/craftbukkit/1.16.5-R0.1-SNAPSHOT/craftbukkit-1.16.5-R0.1-SNAPSHOT.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Build 1.16.5 | |
if: steps.nether.outputs.sucess != 'true' | |
run: cd BuildTools && java -jar BuildTools.jar --rev 1.16.5 --compile craftbukkit | |
# Build 1.18.2 NMS | |
v1_18_R2: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 17 # 1.18.2 can only be built with Java 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Cache 1.18.2 Maven package | |
id: cacheCaves | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.18.2-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_18_R2 | |
restore-keys: ${{ runner.os }}-v1_18_R2 | |
- name: Cache Maven packages | |
id: cacheMain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-v1_18_R2 | |
restore-keys: ${{ runner.os }}-m2-v1_18_R2 | |
- name: Setup BuildTools | |
run: mkdir BuildTools && wget -O BuildTools/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar | |
- name: Check 1.18.2 Spigot | |
id: caves | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.18.2-R0.1-SNAPSHOT/spigot-1.18.2-R0.1-SNAPSHOT.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.18.2 Spigot (Mojang) | |
id: cavesMojang | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.18.2-R0.1-SNAPSHOT/spigot-1.18.2-R0.1-SNAPSHOT-remapped-mojang.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.18.2 Spigot (Obf) | |
id: cavesObf | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.18.2-R0.1-SNAPSHOT/spigot-1.18.2-R0.1-SNAPSHOT-remapped-obf.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Build 1.18.2 | |
if: steps.caves.outputs.sucess != 'true' || steps.cavesMojang.outputs.sucess != 'true' || steps.cavesObf.outputs.sucess != 'true' | |
run: cd BuildTools && java -jar BuildTools.jar --rev 1.18.2 --remapped | |
# Build 1.19.4 NMS | |
v1_19_R3: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 17 # 1.19.4 can only be built with Java 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Cache 1.19.4 Maven package | |
id: cacheWild_r2 | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.19.4-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_19_R3 | |
restore-keys: ${{ runner.os }}-v1_19_R3 | |
- name: Cache Maven packages | |
id: cacheMain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-v1_19_R3 | |
restore-keys: ${{ runner.os }}-m2-v1_19_R3 | |
- name: Setup BuildTools | |
run: mkdir BuildTools && wget -O BuildTools/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar | |
- name: Check 1.19.4 Spigot | |
id: wild | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.19.4-R0.1-SNAPSHOT/spigot-1.19.4-R0.1-SNAPSHOT.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.19.4 Spigot (Mojang) | |
id: wildMojang | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.19.4-R0.1-SNAPSHOT/spigot-1.19.4-R0.1-SNAPSHOT-remapped-mojang.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.19.4 Spigot (Obf) | |
id: wildObf | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.19.4-R0.1-SNAPSHOT/spigot-1.19.4-R0.1-SNAPSHOT-remapped-obf.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Build 1.19.4 | |
if: steps.wild.outputs.sucess != 'true' || steps.wildMojang.outputs.sucess != 'true' || steps.wildObf.outputs.sucess != 'true' | |
run: cd BuildTools && java -jar BuildTools.jar --rev 1.19.4 --remapped | |
# Build 1.20.2 NMS | |
v1_20_R2: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 17 # 1.20.2 can only be built with Java 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Cache 1.20.2 Maven package | |
id: cacheWild_r2 | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.20.2-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_20_R2 | |
restore-keys: ${{ runner.os }}-v1_20_R2 | |
- name: Cache Maven packages | |
id: cacheMain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-v1_20_R2 | |
restore-keys: ${{ runner.os }}-m2-v1_20_R2 | |
- name: Setup BuildTools | |
run: mkdir BuildTools && wget -O BuildTools/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar | |
- name: Check 1.20.2 Spigot | |
id: wild | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.2-R0.1-SNAPSHOT/spigot-1.20.2-R0.1-SNAPSHOT.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.20.2 Spigot (Mojang) | |
id: wildMojang | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.2-R0.1-SNAPSHOT/spigot-1.20.2-R0.1-SNAPSHOT-remapped-mojang.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.20.2 Spigot (Obf) | |
id: wildObf | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.2-R0.1-SNAPSHOT/spigot-1.20.2-R0.1-SNAPSHOT-remapped-obf.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Build 1.20.2 | |
if: steps.wild.outputs.sucess != 'true' || steps.wildMojang.outputs.sucess != 'true' || steps.wildObf.outputs.sucess != 'true' | |
run: cd BuildTools && java -jar BuildTools.jar --rev 1.20.2 --remapped | |
# Build Movecraft | |
build: | |
runs-on: ubuntu-latest | |
needs: [v1_16_R3, v1_18_R2, v1_19_R3, v1_20_R2] | |
steps: | |
- name: Checkout Movecraft | |
uses: actions/checkout@v1 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2 | |
restore-keys: ${{ runner.os }}-m2 | |
- name: Cache 1.16.5 Maven package | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository/org/bukkit/craftbukkit/1.16.5-R0.1-SNAPSHOT/ | |
key: ${{ runner.os }}-v1_16_R3 | |
restore-keys: ${{ runner.os }}-v1_16_R3 | |
- name: Cache 1.18.2 Maven package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.18.2-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_18_R2 | |
restore-keys: ${{ runner.os }}-v1_18_R2 | |
- name: Cache 1.19.4 Maven package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.19.4-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_19_R3 | |
restore-keys: ${{ runner.os }}-v1_19_R3 | |
- name: Cache 1.20.2 Maven package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.20.2-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_20_R2 | |
restore-keys: ${{ runner.os }}-v1_20_R2 | |
- name: Build with Maven | |
run: mvn -T 1C -B package --file pom.xml | |
- name: Stage jar | |
run: mkdir staging && cp target/Movecraft.jar staging && mv staging/Movecraft.jar staging/Movecraft_$GITHUB_SHA.jar | |
- name: Upload jar | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Movecraft_Dev-Build | |
path: staging/Movecraft_*.jar |