Skip to content

Updated CI

Updated CI #1480

Workflow file for this run

name: "Build"
on:
push:
branches:
- "**"
pull_request:
branches:
- "**"
- "!master"
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Run build
timeout-minutes: 30
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Set up JDK"
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
- name: "Setup gradle"
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: false
generate-job-summary: false
gradle-version: wrapper
- name: "Parse gradle properties"
id: gradle-properties
run: ./.github/scripts/parse-gradle-properties.sh
- name: "Run chiseled build"
run: ./gradlew chiseledBuild
- name: "Prepare artifacts"
run: |
mkdir -p artifacts
find . -path "./*/versions/*/build/libs/*[0-9].jar" ! -name "*-common*.jar" -exec cp {} artifacts/ \;
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
with:
name: friendsandfoes-artifacts-${{ steps.gradle-properties.outputs.MOD_VERSION }}
if-no-files-found: error
path: ./**/versions/**/build/libs/*[0-9].jar
- name: "Generate matrix for the run job"
id: set-matrix
run: ./.github/scripts/generate-run-matrix.sh
run-client:
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build.outputs.matrix) }}
name: Run ${{ matrix.mod_loader }} ${{ matrix.version }} ${{ matrix.script }} client
timeout-minutes: 5
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Set up JDK"
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
- name: "Download Built JARs"
uses: actions/download-artifact@v4
with:
name: built-jars
- name: "Parse gradle properties"
id: gradle-properties
run: ./.github/scripts/parse-gradle-properties.sh ${{ matrix.version }}
- name: "Copy mod jar to run/mods"
run: mkdir -p run/mods && cp artifacts/${{ steps.gradle-properties.outputs.MOD_ID }}-${{ matrix.mod_loader }}-mc${{ matrix.version }}-${{ steps.gradle-properties.outputs.MOD_VERSION }}.jar run/mods
- name: "Download ResourcefulLib"
run: |
MOD_URL=$(./.github/scripts/get-modrinth-dependency-url.sh "resourceful-lib" "${{ steps.gradle-properties.outputs.RESOURCEFUL_LIB_LIB_VERSION }}" "${{ matrix.mod_loader }}")
wget -P run/mods "$MOD_URL"
- name: "Download YACL"
run: |
MOD_URL=$(./.github/scripts/get-modrinth-dependency-url.sh "yacl" "${{ steps.gradle-properties.outputs.YACL_VERSION }}-${{ matrix.mod_loader }}" "${{ matrix.mod_loader }}")
wget -P run/mods "$MOD_URL"
- name: Run ${{ matrix.version }} ${{ matrix.mod_loader }} client
uses: 3arthqu4ke/[email protected]
with:
mc: ${{ matrix.version }}
modloader: ${{ matrix.mod_loader }}
regex: .*${{ matrix.mod_loader }}.*
mc-runtime-test: ${{ matrix.mod_loader }}
java: ${{ steps.gradle-properties.outputs.MOD_JAVA_VERSION }}
fabric-api: ${{ steps.gradle-properties.outputs.FABRIC_API_VERSION }}
xvfb: false
headlessmc-command: -lwjgl --retries 3 --jvm -Djava.awt.headless=true
run-server:
runs-on: ubuntu-latest
continue-on-error: true
needs: build
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build.outputs.matrix) }}
name: Run ${{ matrix.mod_loader }} ${{ matrix.version }} ${{ matrix.script }} server
timeout-minutes: 5
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Set up JDK"
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
- name: "Setup Gradle"
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true
generate-job-summary: false
gradle-version: wrapper
- name: "Accept eula"
run: mkdir -p ${{ matrix.mod_loader }}/versions/${{ matrix.version }}/run && echo "eula=true" > ${{ matrix.mod_loader }}/versions/${{ matrix.version }}/run/eula.txt
- name: Run ${{ matrix.version }} ${{ matrix.mod_loader }} server
run: ./.github/scripts/run-server.sh ${{ matrix.mod_loader }} ${{ matrix.version }}