Release #272
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
fabric: | |
description: "Fabric Release" | |
required: true | |
type: boolean | |
forge: | |
description: "Forge Release" | |
required: true | |
type: boolean | |
neo: | |
description: "Neo Release" | |
required: true | |
type: boolean | |
baseRef: | |
description: "Base ref for changelog generator" | |
required: true | |
type: string | |
headRef: | |
description: "Head ref for changelog generator" | |
required: true | |
type: string | |
env: | |
MINECRAFT_VERSION: "1.20.1" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Gradle Wrapper Verification | |
uses: gradle/actions/wrapper-validation@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Elevate wrapper permissions | |
run: chmod +x ./gradlew | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Build Mods | |
run: ./gradlew build | |
- name: Get WorldMap Version Fabric | |
run: echo "WORLDMAP_VERSION_FABRIC=$(./gradlew -q printWorldMapVersionFabric)" >> $GITHUB_ENV | |
- name: Get Minimap Version Fabric | |
run: echo "MINIMAP_VERSION_FABRIC=$(./gradlew -q printMinimapVersionFabric)" >> $GITHUB_ENV | |
- name: Get WorldMap Version Forge | |
run: echo "WORLDMAP_VERSION_FORGE=$(./gradlew -q printWorldMapVersionForge)" >> $GITHUB_ENV | |
- name: Get Minimap Version Forge | |
run: echo "MINIMAP_VERSION_FORGE=$(./gradlew -q printMinimapVersionForge)" >> $GITHUB_ENV | |
- name: Get XaeroPlus Version | |
run: echo "XP_VERSION=$(./gradlew -q printXaeroPlusVersion)" >> $GITHUB_ENV | |
- name: Get Fabric Jar Filename | |
run: echo "XP_FABRIC=XaeroPlus-${{ env.XP_VERSION}}+fabric-${{ env.MINECRAFT_VERSION }}-WM${{ env.WORLDMAP_VERSION_FABRIC }}-MM${{ env.MINIMAP_VERSION_FABRIC }}" >> $GITHUB_ENV | |
- name: Get Forge Jar Filename | |
run: echo "XP_FORGE=XaeroPlus-${{ env.XP_VERSION}}+forge-${{ env.MINECRAFT_VERSION }}-WM${{ env.WORLDMAP_VERSION_FORGE }}-MM${{ env.MINIMAP_VERSION_FORGE }}" >> $GITHUB_ENV | |
- name: Upload Fabric Artifact | |
if: ${{ inputs.fabric }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.XP_FABRIC }} | |
path: fabric/build/libs/${{ env.XP_FABRIC }}.jar | |
if-no-files-found: error | |
- name: Upload Forge Artifact | |
if: ${{ inputs.forge }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.XP_FORGE }} | |
path: forge/build/libs/${{ env.XP_FORGE }}.jar | |
if-no-files-found: error | |
- name: Generate changelog | |
id: changelog | |
uses: metcalfc/[email protected] | |
with: | |
myToken: ${{ secrets.GITHUB_TOKEN }} | |
base-ref: ${{ inputs.baseRef }} | |
head-ref: ${{ inputs.headRef }} | |
outputs: | |
changelog: ${{ steps.changelog.outputs.changelog }} | |
xp_version: ${{ env.XP_VERSION }} | |
xp_fabric: ${{ env.XP_FABRIC }} | |
xp_forge: ${{ env.XP_FORGE }} | |
worldmap_version_fabric: ${{ env.WORLDMAP_VERSION_FABRIC }} | |
minimap_version_fabric: ${{ env.MINIMAP_VERSION_FABRIC }} | |
worldmap_version_forge: ${{ env.WORLDMAP_VERSION_FORGE }} | |
minimap_version_forge: ${{ env.MINIMAP_VERSION_FORGE }} | |
release: | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Download job artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
path: artifacts/ | |
- name: Release Fabric CurseForge and Modrinth | |
if: ${{ inputs.fabric }} | |
uses: Kir-Antipov/[email protected] | |
with: | |
changelog: ${{ needs.build.outputs.changelog }} | |
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} | |
curseforge-id: 866084 | |
modrinth-token: ${{ secrets.MODRINTH_TOKEN }} | |
modrinth-id: EnPUzSTg | |
files: | | |
artifacts/${{ needs.build.outputs.xp_fabric }}.jar | |
name: ${{ needs.build.outputs.xp_version }} (Fabric) (WM${{ needs.build.outputs.worldmap_version_fabric }} MM${{ needs.build.outputs.minimap_version_fabric }}) | |
version: ${{ needs.build.outputs.xp_version }}+fabric-${{ env.MINECRAFT_VERSION }} | |
loaders: | | |
fabric | |
quilt | |
game-versions: | | |
${{ env.MINECRAFT_VERSION }} | |
dependencies: | | |
xaerominimap@${{ needs.build.outputs.minimap_version_fabric }}(required){modrinth:1bokaNcj}{curseforge:263420} | |
xaeroworldmap@${{ needs.build.outputs.worldmap_version_fabric }}(required){modrinth:NcUtCpym}{curseforge:317780} | |
fabric-api(required){modrinth:P7dR8mSH}{curseforge:306612} | |
worldtools(optional){modrinth:FlFKBOIX}{curseforge:909868} | |
waystones(optional){modrinth:LOpKHB2A}{curseforge:245755} | |
fwaystones(optional){modrinth:sTZr7NVo}{curseforge:410902} | |
- name: Release Forge CurseForge and Modrinth | |
if: ${{ inputs.forge }} | |
uses: Kir-Antipov/[email protected] | |
with: | |
changelog: ${{ needs.build.outputs.changelog }} | |
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} | |
curseforge-id: 866084 | |
modrinth-token: ${{ secrets.MODRINTH_TOKEN }} | |
modrinth-id: EnPUzSTg | |
files: | | |
artifacts/${{ needs.build.outputs.xp_forge }}.jar | |
name: ${{ needs.build.outputs.xp_version }} (Forge) (WM${{ needs.build.outputs.worldmap_version_forge }} MM${{ needs.build.outputs.minimap_version_forge }}) | |
version: ${{ needs.build.outputs.xp_version }}+forge-${{ env.MINECRAFT_VERSION }} | |
loaders: | | |
forge | |
neoforge | |
game-versions: | | |
${{ env.MINECRAFT_VERSION }} | |
dependencies: | | |
xaerominimap@${{ needs.build.outputs.minimap_version_forge }}(required){modrinth:1bokaNcj}{curseforge:263420} | |
xaeroworldmap@${{ needs.build.outputs.worldmap_version_forge }}(required){modrinth:NcUtCpym}{curseforge:317780} | |
worldtools(optional){modrinth:FlFKBOIX}{curseforge:909868} | |
waystones(optional){modrinth:LOpKHB2A}{curseforge:245755} | |
- name: Github Release | |
if: ${{ inputs.fabric }} || ${{ inputs.forge }} | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: "${{ needs.build.outputs.xp_version }}" | |
commit: 1.20.1 | |
artifacts: "artifacts/*.jar" | |
allowUpdates: true | |
makeLatest: true | |
body: | | |
For WorldMap and Minimap Versions: | |
* Fabric: WM${{ needs.build.outputs.worldmap_version_fabric }} MM${{ needs.build.outputs.minimap_version_fabric }} | |
* Forge: WM${{ needs.build.outputs.worldmap_version_forge }} MM${{ needs.build.outputs.minimap_version_forge }} | |
${{ needs.build.outputs.changelog }} | |
omitBodyDuringUpdate: true |