-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cf409fb
commit 1796ca1
Showing
5 changed files
with
273 additions
and
243 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: Run all versions with HMC -lwjgl | ||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
|
||
jobs: | ||
run: | ||
strategy: | ||
matrix: | ||
version: | ||
- { dir: 1_20, mc: 1.20.4, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.4, type: neoforge, modloader: neoforge, regex: .*neoforge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.4, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.3, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.3, type: neoforge, modloader: neoforge, regex: .*neoforge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.3, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.2, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.2, type: neoforge, modloader: neoforge, regex: .*neoforge.*, java: 17 } | ||
- { dir: 1_20, mc: 1.20.2, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_20/1_20_1, mc: 1.20.1, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_20/1_20_1, mc: 1.20.1, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.4, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.4, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.3, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.3, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.2, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.2, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.1, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19.1, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_19, mc: 1.19, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_18, mc: 1.18.2, type: fabric, modloader: fabric, regex: .*fabric.*, java: 17 } | ||
- { dir: 1_18, mc: 1.18.2, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 } | ||
- { dir: 1_17, mc: 1.17.1, type: fabric, modloader: fabric, regex: .*fabric.*, java: 16 } | ||
- { dir: 1_17, mc: 1.17.1, type: lexforge, modloader: forge, regex: .*forge.*, java: 16 } | ||
- { dir: 1_16, mc: 1.16.5, type: fabric, modloader: fabric, regex: .*fabric.*, java: 8 } | ||
- { dir: 1_16, mc: 1.16.5, type: lexforge, modloader: forge, regex: .*forge.*, java: 8 } | ||
- { dir: 1_12, mc: 1.12.2, type: lexforge, modloader: forge, regex: .*forge.*, java: 8 } | ||
- { dir: 1_8_9, mc: 1.8.9, type: lexforge, modloader: forge, regex: .*orge.*, java: 8 } | ||
- { dir: 1_7_10, mc: 1.7.10, type: lexforge, modloader: forge, regex: .*orge.*, java: 8 } | ||
uses: 3arthqu4ke/mc-runtime-test/.github/workflows/run-specific-reusable.yml@main | ||
with: | ||
dir: ${{ matrix.version.dir }} | ||
mc: ${{ matrix.version.mc }} | ||
type: ${{ matrix.version.type }} | ||
modloader: ${{ matrix.version.modloader }} | ||
regex: ${{ matrix.version.regex }} | ||
java: ${{ matrix.version.java }} | ||
xvfb: false | ||
headlessmc_command: -lwjgl --jvm -Djava.awt.headless=true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,82 +1,99 @@ | ||
name: Run MC Reusable | ||
on: | ||
workflow_call: | ||
inputs: | ||
dir: | ||
description: 'The directory to build in' | ||
required: true | ||
default: '1_20' | ||
type: string | ||
mc: | ||
description: 'The MC version to build' | ||
required: true | ||
default: '1.20.4' | ||
type: string | ||
type: | ||
description: 'The type to of jar to use (lexforge, neoforge or fabric)' | ||
required: true | ||
default: 'lexforge' | ||
type: string | ||
modloader: | ||
description: 'The modloader to install with HeadlessMc (forge, neoforge or fabric)' | ||
required: true | ||
default: 'forge' | ||
type: string | ||
regex: | ||
description: 'Regex to match the MC version to launch (forge is like 1.20.4-forge and fabric starts with fabric-1.20)' | ||
required: true | ||
default: 'fabric.*1.20.4' | ||
type: string | ||
java: | ||
description: 'The Java version to use' | ||
required: true | ||
default: '17' | ||
type: string | ||
workflow_call: | ||
inputs: | ||
dir: | ||
description: 'The directory to build in' | ||
required: true | ||
default: '1_20' | ||
type: string | ||
mc: | ||
description: 'The MC version to build' | ||
required: true | ||
default: '1.20.4' | ||
type: string | ||
type: | ||
description: 'The type to of jar to use (lexforge, neoforge or fabric)' | ||
required: true | ||
default: 'lexforge' | ||
type: string | ||
modloader: | ||
description: 'The modloader to install with HeadlessMc (forge, neoforge or fabric)' | ||
required: true | ||
default: 'forge' | ||
type: string | ||
regex: | ||
description: 'Regex to match the MC version to launch (forge is like 1.20.4-forge and fabric starts with fabric-1.20)' | ||
required: true | ||
default: 'fabric.*1.20.4' | ||
type: string | ||
java: | ||
description: 'The Java version to use' | ||
required: true | ||
default: '17' | ||
type: string | ||
xvfb: | ||
description: 'Runs the game with Xvfb, if false, you should probably use the -lwjgl option in headlessmc.' | ||
required: false | ||
default: 'true' | ||
type: string | ||
headlessmc_command: | ||
description: 'Arguments for the headlessmc command.' | ||
required: false | ||
default: '--jvm -Djava.awt.headless=true' | ||
type: string | ||
|
||
jobs: | ||
run: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-java@v4 | ||
with: | ||
java-version: ${{ inputs.java }} | ||
distribution: adopt | ||
- name: Grant execute permission for gradlew | ||
working-directory: ./${{ inputs.dir }} | ||
run: chmod +x gradlew | ||
- name: Setup HeadlessMC directory | ||
run: mkdir HeadlessMC | ||
- name: Configure HeadlessMC java versions | ||
run: echo hmc.java.versions=$JAVA_HOME/bin/java > HeadlessMC/config.properties | ||
- name: Configure HeadlessMC game directory | ||
run: echo hmc.gamedir=$PWD/run >> HeadlessMC/config.properties | ||
- name: Configure offline mode | ||
run: echo hmc.offline=true >> HeadlessMC/config.properties | ||
- name: Configure Exceptions | ||
run: echo hmc.rethrow.launch.exceptions=true >> HeadlessMC/config.properties | ||
- name: Configure Failing on wrong command | ||
run: echo hmc.exit.on.failed.command=true >> HeadlessMC/config.properties | ||
- name: Configure Dummy Assets | ||
run: echo hmc.assets.dummy=true >> HeadlessMC/config.properties | ||
- name: Get HeadlessMC | ||
run: wget -O headlessmc-launcher-1.9.5.jar https://github.com/3arthqu4ke/headlessmc/releases/download/1.9.5/headlessmc-launcher-1.9.5.jar | ||
- name: Download ${{ inputs.mc }} | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command download ${{ inputs.mc }} | ||
- name: Download ${{ inputs.modloader }} ${{ inputs.mc }} | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command ${{ inputs.modloader }} ${{ inputs.mc }} --java ${{ inputs.java }} | ||
- name: List versions | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command versions | ||
- name: Make mods dir | ||
run: mkdir -p run/mods | ||
- name: Configure Accessibility | ||
run: echo onboardAccessibility:false >> run/options.txt | ||
- name: Build | ||
working-directory: ./${{ inputs.dir }} | ||
run: ./gradlew build | ||
- name: Copy mod | ||
run: cp ${{ inputs.dir }}/build/libs/mc-runtime-test-*-${{ inputs.type }}-release.jar run/mods | ||
- name: LS mods dir | ||
run: ls run/mods | ||
- name: Run game | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command launch ${{ inputs.regex }} -regex -lwjgl --jvm -Djava.awt.headless=true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-java@v4 | ||
with: | ||
java-version: ${{ inputs.java }} | ||
distribution: adopt | ||
- name: Grant execute permission for gradlew | ||
working-directory: ./${{ inputs.dir }} | ||
run: chmod +x gradlew | ||
- name: Setup HeadlessMC directory | ||
run: mkdir HeadlessMC | ||
- name: Configure HeadlessMC java versions | ||
run: echo hmc.java.versions=$JAVA_HOME/bin/java > HeadlessMC/config.properties | ||
- name: Configure HeadlessMC game directory | ||
run: echo hmc.gamedir=$PWD/run >> HeadlessMC/config.properties | ||
- name: Configure offline mode | ||
run: echo hmc.offline=true >> HeadlessMC/config.properties | ||
- name: Configure Exceptions | ||
run: echo hmc.rethrow.launch.exceptions=true >> HeadlessMC/config.properties | ||
- name: Configure Failing on wrong command | ||
run: echo hmc.exit.on.failed.command=true >> HeadlessMC/config.properties | ||
- name: Configure Dummy Assets | ||
run: echo hmc.assets.dummy=true >> HeadlessMC/config.properties | ||
- name: Get HeadlessMC | ||
run: wget -O headlessmc-launcher-1.9.5.jar https://github.com/3arthqu4ke/headlessmc/releases/download/1.9.5/headlessmc-launcher-1.9.5.jar | ||
- name: Download ${{ inputs.mc }} | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command download ${{ inputs.mc }} | ||
- name: Download ${{ inputs.modloader }} ${{ inputs.mc }} | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command ${{ inputs.modloader }} ${{ inputs.mc }} --java ${{ inputs.java }} | ||
- name: List versions | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command versions | ||
- name: Make mods dir | ||
run: mkdir -p run/mods | ||
- name: Configure Accessibility | ||
run: echo onboardAccessibility:false >> run/options.txt | ||
- name: Build | ||
working-directory: ./${{ inputs.dir }} | ||
run: ./gradlew build | ||
- name: Copy mod | ||
run: cp ${{ inputs.dir }}/build/libs/mc-runtime-test-*-${{ inputs.type }}-release.jar run/mods | ||
- name: LS mods dir | ||
run: ls run/mods | ||
- name: Run game with xvfb | ||
uses: modmuss50/xvfb-action@v1 | ||
if: ${{ inputs.xvfb == 'true' }} | ||
with: | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command launch ${{ inputs.regex }} -regex ${{ inputs.headlessmc_command }} | ||
- name: Run game | ||
if: ${{ inputs.xvfb != 'true' }} | ||
run: java -jar headlessmc-launcher-1.9.5.jar --command launch ${{ inputs.regex }} -regex ${{ inputs.headlessmc_command }} | ||
shell: bash |
Oops, something went wrong.