Skip to content

CI for Mod

CI for Mod #174

Workflow file for this run

name: CI for Mod
on:
workflow_dispatch:
push:
branches:
- releases/**
paths:
- module.*/src/**
- module.*/build.gradle
- module.*/gradle.properties
- build.gradle
- gradle.properties
- settings.gradle
jobs:
config:
runs-on: ubuntu-latest
env:
MODULE: config
MODULE_ID: config
NOT_DEV: true
CI_BUILD: true
PR_BUILD: false
steps:
- name: checkout
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'java_version'
- 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@v3
- name: Build
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1:build
- name: Get Version
id: version
run: |
MESSAGE=$(ls module.${{ env.MODULE }}/build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'anvillib-${{ env.MODULE_ID }}-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ env.MODULE }} ${{ steps.version.outputs.version }}"
path: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1: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: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
integration:
runs-on: ubuntu-latest
env:
MODULE: integration
MODULE_ID: integration
NOT_DEV: true
CI_BUILD: true
PR_BUILD: false
steps:
- name: checkout
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'java_version'
- 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@v3
- name: Build
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1:build
- name: Get Version
id: version
run: |
MESSAGE=$(ls module.${{ env.MODULE }}/build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'anvillib-${{ env.MODULE_ID }}-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ env.MODULE }} ${{ steps.version.outputs.version }}"
path: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1: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: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
moveable-entity-block:
runs-on: ubuntu-latest
env:
MODULE: moveable-entity-block
MODULE_ID: moveable_entity_block
NOT_DEV: true
CI_BUILD: true
PR_BUILD: false
steps:
- name: checkout
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'java_version'
- 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@v3
- name: Build
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1:build
- name: Get Version
id: version
run: |
MESSAGE=$(ls module.${{ env.MODULE }}/build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'anvillib-${{ env.MODULE_ID }}-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ env.MODULE }} ${{ steps.version.outputs.version }}"
path: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1: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: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
recipe:
runs-on: ubuntu-latest
needs:
- config
env:
MODULE: recipe
MODULE_ID: recipe
NOT_DEV: true
CI_BUILD: true
PR_BUILD: false
steps:
- name: checkout
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'java_version'
- 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@v3
- name: Build
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1:build
- name: Get Version
id: version
run: |
MESSAGE=$(ls module.${{ env.MODULE }}/build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'anvillib-${{ env.MODULE_ID }}-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ env.MODULE }} ${{ steps.version.outputs.version }}"
path: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1: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: module.${{ env.MODULE }}/build/libs/anvillib-${{ env.MODULE_ID }}-neoforge-${{ steps.version.outputs.version }}.jar
main:
runs-on: ubuntu-latest
needs:
- config
- integration
- moveable-entity-block
- recipe
env:
MODULE: main
NOT_DEV: true
CI_BUILD: true
PR_BUILD: false
steps:
- name: checkout
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Read Properties
id: 'properties'
uses: christian-draeger/read-properties@1.1.1
with:
path: gradle.properties
properties: 'java_version'
- 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@v3
- name: Build
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1:build
- name: Get Version
id: version
run: |
MESSAGE=$(ls module.${{ env.MODULE }}/build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'anvillib-neoforge-|.jar' '{print $2}')
echo "version=$MESSAGE" >> $GITHUB_OUTPUT
- name: capture build artifacts
uses: actions/upload-artifact@v4.3.3
with:
name: "${{ env.MODULE }} ${{ steps.version.outputs.version }}"
path: module.main/build/libs/anvillib-neoforge-${{ steps.version.outputs.version }}.jar
- name: Publish to maven
run: ./gradlew :anvillib-${{ env.MODULE }}-neoforge-1.21.1: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: module.main/build/libs/anvillib-neoforge-${{ steps.version.outputs.version }}.jar