Skip to content

Fix settings wiping bug (mostly) #179

Fix settings wiping bug (mostly)

Fix settings wiping bug (mostly) #179

Workflow file for this run

name: CI
# Controls when the action will run.
on: [push, workflow_dispatch]
jobs:
buildCore:
name: Build Core
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: adopt
java-version: 8
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
# Build Core
- name: Build/Install Core
working-directory: ./MinecraftMod/core
run: './gradlew publishToMavenLocal'
# Upload Maven Local
- name: Upload
uses: actions/upload-artifact@v4
with:
path: ~/.m2/repository
name: maven
buildJava8:
name: Build ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
runs-on: ubuntu-latest
needs: buildCore
# Matrix of jobs to run
strategy:
fail-fast: false
matrix:
mod-loader: ['forge', 'fabric']
mc-version: ['1.16.4']
#exclude:
# - mod-loader: 'forge'
# mc-version: '1.17'
steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: adopt
java-version: 8
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository
# Build Core
# - name: Build/Install Core
# working-directory: ./MinecraftMod/core
# run: './gradlew publishToMavenLocal'
# Build Minecraft Mod
- name: Build Mod
working-directory: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}
run: './gradlew build --no-daemon'
# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
buildJava17:
name: Build ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
runs-on: ubuntu-latest
needs: buildCore
# Matrix of jobs to run
strategy:
fail-fast: false
matrix:
mod-loader: ['fabric', 'forge']
mc-version: ['1.17.1', '1.18.2', '1.19.4']
#exclude:
# - mod-loader: 'forge'
# mc-version: '1.17'
steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
# # Setup JDK
# - name: Set up JDK 1.8
# uses: actions/setup-java@v2
# with:
# distribution: 'adopt'
# java-version: 8
# # Build Core
# - name: Build/Install Core
# working-directory: ./MinecraftMod/core
# run: './gradlew publishToMavenLocal'
# Setup JDK
- name: Set up JDK 1.17
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 17
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository
# Build Minecraft Mod
- name: Build Mod
working-directory: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}
run: './gradlew build --no-daemon'
# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
buildJava21:
name: Build ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
runs-on: ubuntu-latest
needs: buildCore
# Matrix of jobs to run
strategy:
fail-fast: false
matrix:
mod-loader: ['fabric', 'forge']
mc-version: ["1.20.6", "1.21"]
#exclude:
# - mod-loader: 'forge'
# mc-version: '1.17'
steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
# Setup JDK
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 21
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository
# Build Minecraft Mod
- name: Build Mod
working-directory: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}
run: './gradlew build --no-daemon'
# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
buildPlugin:
name: Build Stream Deck Plugin
runs-on: ubuntu-latest
needs: buildCore
steps:
- uses: actions/checkout@v4
# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: adopt
java-version: 8
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: ./effectmc/package-lock.json
- name: Install Stream Deck CLI
run: 'npm install -g @elgato/cli'
# Build Core
- name: Create effects.json
working-directory: ./MinecraftMod/core
run: './gradlew run'
# Copy effects.json
- name: Copy effects.json
run: 'cp ./MinecraftMod/core/effects.json ./effectmc/effects.json'
# Install modules
- name: Install Modules
working-directory: ./effectmc
run: 'npm install'
# Generate Stream Deck Plugin
- name: Generate Stream Deck Plugin
working-directory: ./effectmc
run: 'npm run generate'
- name: Build Stream Deck Plugin
working-directory: ./effectmc
run: 'npm run build'
- name: Package Stream Deck Plugin
working-directory: ./effectmc
run: 'streamdeck pack com.mosadie.effectmc.sdPlugin'
# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: Stream Deck Plugin
path: ./effectmc/*.streamDeckPlugin