Skip to content

main.yml

main.yml #35

Workflow file for this run

name: main.yml
on:
workflow_dispatch:
inputs:
mc_version:
description: 'Minecraft Version'
required: true
type: 'string'
default: '1.21.1'
mod_version:
description: 'Mod Version'
required: true
type: 'string'
default: '0.5.0'
version_type:
description: 'Version Type'
required: true
type: 'choice'
options:
- 'alpha'
- 'beta'
- 'release'
default: 'release'
env:
JAVA_VERSION: 21
VERSION_TITLE: "${{inputs.mc_version}}+${{inputs.mod_version}}-${{inputs.version_type}}"
jobs:
gradle:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Cache
uses: actions/cache@v4.0.2
with:
path: |
~/.gradle/caches
~/.gradle/loom-cache
~/.gradle/wrapper
key: gradle-${{ hashFiles('**/gradle-wrapper.properties') }}-${{ hashFiles('./gradle.properties') }}-${{ hashFiles('./libs.versions.toml') }}
restore-keys: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build
run: ./gradlew clean neoforge:build fabric:build
- name: Capture Fabric Build Artifacts
uses: actions/upload-artifact@v4.4.0
with:
name: Fabric Artifacts
path: fabric/build/libs/
- name: Capture NeoForge Build Artifacts
uses: actions/upload-artifact@v4.4.0
with:
name: NeoForge Artifacts
path: neoforge/build/libs/
- name: MC Publish NeoForge Assets
uses: Kir-Antipov/mc-publish@v3.3.0
with:
name: "NeoForge ${{ENV.VERSION_TITLE}}"
modrinth-id: iB0MlSms
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
modrinth-featured: false
curseforge-id: 915450
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
files: |
neoforge/build/libs/!(*-@(dev|sources|all|javadoc|shadow)).jar
neoforge/build/libs/*-@(dev|sources|javadoc).jar
loaders: neoforge
version-type: ${{ inputs.version_type }}
version: "neoforge-${{inputs.mod_version}}"
game-versions: |
>=1.21.1
- name: MC Publish Fabric Assets
uses: Kir-Antipov/mc-publish@v3.3.0
with:
name: "Fabric ${{ENV.VERSION_TITLE}}"
modrinth-id: iB0MlSms
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
modrinth-featured: false
curseforge-id: 915450
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
files: |
fabric/build/libs/!(*-@(dev|sources|all|javadoc|shadow)).jar
fabric/build/libs/*-@(dev|sources|javadoc).jar
loaders: fabric
version-type: ${{ inputs.version_type }}
version: "fabric-${{inputs.mod_version}}"
game-versions: |
>=1.21.1
- name: MC Publish Github Release
uses: Kir-Antipov/mc-publish@v3.3.0
with:
name: "Complete ${{ENV.VERSION_TITLE}}"
github-generate-changelog: true
github-token: ${{ secrets.GITHUB_TOKEN }}
files: |
fabric/build/libs/!(*-@(dev|sources|all|javadoc|shadow)).jar
neoforge/build/libs/!(*-@(dev|sources|all|javadoc)).jar