Skip to content

Merge branch 'dev/1.21/machine' into releases/1.21 #24

Merge branch 'dev/1.21/machine' into releases/1.21

Merge branch 'dev/1.21/machine' into releases/1.21 #24

Workflow file for this run

name: CI for Mod
on:
workflow_dispatch:
push:
branches:
- releases/**
paths:
- gradle/scripts/**
- guidebook/**
- src/**
- build.gradle
- dependencies.gradle
- gradle.properties
- settings.gradle
jobs:
build:
runs-on: ubuntu-latest
env:
CI_BUILD: true
PR_BUILD: false
VERSION_TYPE: release
steps:
- name: checkout
uses: actions/checkout@v4
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'mod_id mod_name java_version modrinth_id curseforge_id upload'
- name: Setup Java ${{ steps.properties.outputs.java_version }}
uses: actions/setup-java@v3.6.0
with:
distribution: zulu
java-version: ${{ steps.properties.outputs.java_version }}
- name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: Build with Gradle
uses: gradle/actions/setup-gradle@v4.3.1
- name: Build
run: ./gradlew build
- name: Get Version
id: version
run: |
MESSAGE=$(ls build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F '${{ steps.properties.outputs.mod_id }}-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ steps.properties.outputs.mod_name }} ${{ steps.version.outputs.version }}"
path: build/libs/${{ steps.properties.outputs.mod_id }}-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
if: ${{ steps.properties.outputs.upload }}
run: ./gradlew publish
env:
MAVEN_URL: ${{ secrets.MAVEN_URL }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USER }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASS }}
continue-on-error: true
- name: gametest
uses: Anvil-Dev/dedicated-server-launch-test@1.21.1-neoforge
with:
mod: build/libs/${{ steps.properties.outputs.mod_id }}-neoforge-${{ steps.version.outputs.version }}.jar
extra-mods: |
anvilcraft:1.21.1-1.5.0+hotfix.1570
guideme:21.1.15
- name: publish neoforge mc mod
uses: Kir-Antipov/mc-publish@v3.3
if: ${{ steps.properties.outputs.upload }}
continue-on-error: true
with:
name: "${{ steps.properties.outputs.mod_name }} For NeoForge v${{ steps.version.outputs.version }}"
version: ${{ steps.version.outputs.version }}
game-versions: 1.21.1
version-type: ${{ env.VERSION_TYPE }}
java: 21
fail-mode: skip
modrinth-id: ${{ steps.properties.outputs.modrinth_id }}
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
modrinth-featured: true
curseforge-id: ${{ steps.properties.outputs.curseforge_id }}
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
dependencies: |
guideme@21.1.15(required){modrinth:Ck4E7v7R}{curseforge:1173950}
anvilcraft@1.21.1-1.5.0(required){modrinth:vuISAWPc}{curseforge:986251}
files: |
build/libs/${{ steps.properties.outputs.mod_id }}-neoforge-${{ steps.version.outputs.version }}.jar
build/libs/${{ steps.properties.outputs.mod_id }}-neoforge-${{ steps.version.outputs.version }}-sources.jar