Java CI #832
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.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.6 NMS | |
v1_20_R4: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 21 # 1.20.6 can only be built with Java 21 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Cache 1.20.6 Maven package | |
id: cacheWild_r2 | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.20.6-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_20_R4 | |
restore-keys: ${{ runner.os }}-v1_20_R4 | |
- name: Cache Maven packages | |
id: cacheMain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-v1_20_R4 | |
restore-keys: ${{ runner.os }}-m2-v1_20_R4 | |
- 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.6 Spigot | |
id: wild | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.6-R0.1-SNAPSHOT/spigot-1.20.6-R0.1-SNAPSHOT.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.20.6 Spigot (Mojang) | |
id: wildMojang | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.6-R0.1-SNAPSHOT/spigot-1.20.6-R0.1-SNAPSHOT-remapped-mojang.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Check 1.20.6 Spigot (Obf) | |
id: wildObf | |
run: test -f ~/.m2/repository/org/spigotmc/spigot/1.20.6-R0.1-SNAPSHOT/spigot-1.20.6-R0.1-SNAPSHOT-remapped-obf.jar && echo "sucess=true" >> $GITHUB_OUTPUT || echo "sucess=false" >> $GITHUB_OUTPUT | |
- name: Build 1.20.6 | |
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.6 --remapped | |
# Build Movecraft | |
build: | |
runs-on: ubuntu-latest | |
needs: [v1_18_R2, v1_19_R3, v1_20_R4] | |
steps: | |
- name: Checkout Movecraft | |
uses: actions/checkout@v1 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2 | |
restore-keys: ${{ runner.os }}-m2 | |
- 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.6 Maven package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/org/spigotmc/spigot/1.20.6-R0.1-SNAPSHOT/ | |
~/.m2/repository/org/spigotmc/spigot-parent/ | |
~/.m2/repository/org/spigotmc/minecraft-server/ | |
key: ${{ runner.os }}-v1_20_R4 | |
restore-keys: ${{ runner.os }}-v1_20_R4 | |
- 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 |