Skip to content

Commit

Permalink
Workflows for building and running
Browse files Browse the repository at this point in the history
  • Loading branch information
3arthqu4ke committed Jul 27, 2024
1 parent a030eb9 commit c11b89a
Show file tree
Hide file tree
Showing 4 changed files with 183 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/build-all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build All
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
matrix:
version:
- { dir: api, mc: api, lex: api, neo: api, java: 8 }
- { dir: 1_21, mc: 1.21, lex: 51.0.24, neo: 96-beta, java: 21 }
- { dir: 1_20, mc: 1.20.6, lex: 50.1.10, neo: 119, java: 21 }
- { dir: 1_20, mc: 1.20.4, lex: 49.0.38, neo: 219, java: 17 }
- { dir: 1_20, mc: 1.20.3, lex: 49.0.2, neo: 8-beta, java: 17 }
- { dir: 1_20, mc: 1.20.2, lex: 48.1.0, neo: 88, java: 17 }
- { dir: 1_20, mc: 1.20.1, lex: 47.2.23, neo: 0, java: 17 }
- { dir: 1_19, mc: 1.19.4, lex: 45.2.9, neo: 0, java: 17 }
- { dir: 1_19, mc: 1.19.3, lex: 44.1.23, neo: 0, java: 17 }
- { dir: 1_19, mc: 1.19.2, lex: 43.3.9, neo: 0, java: 17 }
- { dir: 1_19, mc: 1.19.1, lex: 42.0.9, neo: 0, java: 17 }
- { dir: 1_19, mc: 1.19, lex: 41.1.0, neo: 0, java: 17 }
- { dir: 1_18, mc: 1.18.2, lex: 40.2.18, neo: 0, java: 17 }
- { dir: 1_17, mc: 1.17.1, lex: 37.1.1, neo: 0, java: 16 }
- { dir: 1_16, mc: 1.16.5, lex: 36.2.42, neo: 0, java: 8 }
- { dir: 1_12, mc: 1.12.2, lex: 14.23.5.2860, neo: 0, java: 8 }
- { dir: 1_8_9, mc: 1.8.9, lex: 11.15.1.2318-1.8.9, neo: 0, java: 8 }
- { dir: 1_7_10, mc: 1.7.10, lex: 10.13.4.1614-1.7.10, neo: 0, java: 8 }
uses: 3arthqu4ke/hmc-specifics/.github/workflows/build-specific-reusable.yml@main
with:
dir: ${{ matrix.version.dir }}
mc: ${{ matrix.version.mc }}
lex: ${{ matrix.version.lex }}
neo: ${{ matrix.version.neo }}
java: ${{ matrix.version.java }}

51 changes: 51 additions & 0 deletions .github/workflows/build-specific-reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build specific version 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
lex:
description: 'The LexForge version to use'
required: true
default: '49.0.38'
type: string
neo:
description: 'The NeoForge version to use'
required: true
default: '219'
type: string
java:
description: 'The Java version to use'
required: true
default: '17'
type: string
java-distribution:
description: 'The Java distribution to use'
required: false
default: 'adopt'
type: string

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ inputs.java }}
distribution: ${{ inputs.java-distribution }}
- name: Grant execute permission for gradlew
working-directory: ./${{ inputs.dir }}
run: chmod +x gradlew
- name: Build
working-directory: ./${{ inputs.dir }}
run: ./gradlew build -Pminecraft_version=${{ inputs.mc }} -Plexforge_version=${{ inputs.lex }} -Pneoforge_version=${{ inputs.neo }} --stacktrace

81 changes: 81 additions & 0 deletions .github/workflows/run-matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Run all versions with HMC -lwjgl
on:
workflow_dispatch:
workflow_call:
push:
pull_request:

jobs:
run:
strategy:
matrix:
version:
- { dir: 1_21, mc: 1.21, type: lexforge, modloader: forge, regex: .*forge.*, java: 21 }
- { dir: 1_21, mc: 1.21, type: neoforge, modloader: neoforge, regex: .*neoforge.*, java: 21 }
- { dir: 1_21, mc: 1.21, type: fabric, modloader: fabric, regex: .*fabric.*, java: 21 }
- { dir: 1_20, mc: 1.20.6, type: lexforge, modloader: forge, regex: .*forge.*, java: 21 }
- { dir: 1_20, mc: 1.20.6, type: neoforge, modloader: neoforge, regex: .*neoforge.*, java: 21 }
- { dir: 1_20, mc: 1.20.6, type: fabric, modloader: fabric, regex: .*fabric.*, java: 21 }
- { 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, mc: 1.20.1, type: lexforge, modloader: forge, regex: .*forge.*, java: 17 }
- { dir: 1_20, 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 }
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
needs: build
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.version.java }}
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
- name: Grant execute permission for gradlew
working-directory: ./${{ matrix.version.dir }}
run: chmod +x gradlew
- name: Build with Gradle
working-directory: ./${{ matrix.version.dir }}
run: ./gradlew build --stacktrace
- name: Create mods dir
run: mkdir -p run/mods
- name: Copy mod jar
run: cp ${{ matrix.version.dir }}/build/libs/hmc-specifics-${{ matrix.version.mc }}-*-${{ matrix.version.type }}.jar run/mods
- name: Run the MC client
uses: 3arthqu4ke/[email protected]
with:
mc: ${{ matrix.version.mc }}
modloader: ${{ matrix.version.modloader }}
regex: ${{ matrix.version.regex }}
java: ${{ matrix.version.java }}
mc-runtime-test: ${{ matrix.version.type }}
xvfb: false
headlessmc-command: -lwjgl --jvm -Djava.awt.headless=true
15 changes: 15 additions & 0 deletions .github/workflows/validate-wrapper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "Validate Gradle Wrapper"

on:
push:
pull_request:
workflow_dispatch:
workflow_call:

jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v2

0 comments on commit c11b89a

Please sign in to comment.