Skip to content

Commit

Permalink
GH actions workflow for release
Browse files Browse the repository at this point in the history
  • Loading branch information
rfresh2 committed Mar 4, 2024
1 parent 8255758 commit 073a25a
Show file tree
Hide file tree
Showing 8 changed files with 213 additions and 71 deletions.
56 changes: 0 additions & 56 deletions .github/workflows/1.20.1-pr.yml

This file was deleted.

34 changes: 22 additions & 12 deletions .github/workflows/1.20.1.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: 1.20.1 Build

on:
pull_request:
push:
branches:
- "1.20.1"

env:
MINECRAFT_VERSION: "1.20.1"
MINECRAFT_VERSION_SHORT: "1.20"
Expand All @@ -29,6 +31,11 @@ jobs:
- name: Elevate wrapper permissions
run: chmod +x ./gradlew

- name: Build Mods
uses: gradle/gradle-build-action@v3
with:
arguments: build

- name: Get WorldMap Version
run: |
echo "WORLDMAP_VERSION=$(./gradlew -q printWorldMapVersion)" >> $GITHUB_ENV
Expand All @@ -37,23 +44,26 @@ jobs:
run: |
echo "MINIMAP_VERSION=$(./gradlew -q printMinimapVersion)" >> $GITHUB_ENV
- name: Build Mods
run: ./gradlew build
- name: Get XaeroPlus Version
run: |
echo "XP_VERSION=$(./gradlew -q printXaeroPlusVersion)" >> $GITHUB_ENV
- name: Rename Fabric mod
run: mv fabric/build/libs/xaeroplus-${{ env.MINECRAFT_VERSION }}.jar XaeroPlus-Fabric-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}.jar
- name: Get Fabric Jar Filename
run: |
echo "XP_FABRIC=XaeroPlus-${{ env.XP_VERSION}}+fabric-${{ env.MINECRAFT_VERSION }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}" >> $GITHUB_ENV
- name: Rename Forge mod
run: mv forge/build/libs/xaeroplus-${{ env.MINECRAFT_VERSION }}.jar XaeroPlus-Forge-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}.jar
- name: Get Forge Jar Filename
run: |
echo "XP_FORGE=XaeroPlus-${{ env.XP_VERSION}}+forge-${{ env.MINECRAFT_VERSION }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}" >> $GITHUB_ENV
- name: Upload Fabric Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: Fabric-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}
path: XaeroPlus-Fabric-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}.jar
name: ${{ env.XP_FABRIC }}
path: fabric/build/libs/${{ env.XP_FABRIC }}.jar

- name: Upload Forge Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: Forge-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}
path: XaeroPlus-Forge-${{ env.MINECRAFT_VERSION }}-${{ github.run_number }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}.jar
name: ${{ env.XP_FORGE }}
path: forge/build/libs/${{ env.XP_FORGE }}.jar
175 changes: 175 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
name: Release

on:
workflow_dispatch:
inputs:
fabric:
description: "Fabric Release"
required: true
type: boolean
forge:
description: "Forge Release"
required: true
type: boolean
baseRef:
description: "Base ref for changelog generator"
required: true
type: string

env:
MINECRAFT_VERSION: "1.20.1"
MINECRAFT_VERSION_SHORT: "1.20"

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Gradle Wrapper Verification
uses: gradle/wrapper-validation-action@v2

- 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: Build
uses: gradle/gradle-build-action@v3
with:
arguments: build

- name: Get WorldMap Version
run: |
echo "WORLDMAP_VERSION=$(./gradlew -q printWorldMapVersion)" >> $GITHUB_ENV
- name: Get Minimap Version
run: |
echo "MINIMAP_VERSION=$(./gradlew -q printMinimapVersion)" >> $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 }}-MM${{ env.MINIMAP_VERSION }}" >> $GITHUB_ENV
- name: Get Forge Jar Filename
run: |
echo "XP_FORGE=XaeroPlus-${{ env.XP_VERSION}}+forge-${{ env.MINECRAFT_VERSION }}-WM${{ env.WORLDMAP_VERSION }}-MM${{ env.MINIMAP_VERSION }}" >> $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

- 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

- name: Generate changelog
id: changelog
uses: metcalfc/[email protected]
with:
myToken: ${{ secrets.GITHUB_TOKEN }}
base-ref: ${{ inputs.baseRef }}

outputs:
changelog: ${{ steps.changelog.outputs.changelog }}
xp_version: ${{ env.XP_VERSION }}
xp_fabric: ${{ env.XP_FABRIC }}
xp_forge: ${{ env.XP_FORGE }}
worldmap_version: ${{ env.WORLDMAP_VERSION }}
minimap_version: ${{ env.MINIMAP_VERSION }}

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 }}+${{ env.MINECRAFT_VERSION }} [Fabric]
version: ${{ needs.build.outputs.xp_version }}
loaders: |
fabric
quilt
game-versions: |
${{ env.MINECRAFT_VERSION }}
dependencies: |
xaerominimap@${{ needs.build.outputs.minimap_version }}(required){modrinth:1bokaNcj}{curseforge:263420}
xaeroworldmap@${{ needs.build.outputs.worldmap_version }}(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 }}+${{ env.MINECRAFT_VERSION }} [Forge]
version: ${{ needs.build.outputs.xp_version }}
loaders: |
forge
neoforge
game-versions: |
${{ env.MINECRAFT_VERSION }}
dependencies: |
xaerominimap@${{ needs.build.outputs.minimap_version }}(required){modrinth:1bokaNcj}{curseforge:263420}
xaeroworldmap@${{ needs.build.outputs.worldmap_version }}(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: ${{ needs.build.outputs.changelog }}
omitBodyDuringUpdate: true
3 changes: 3 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -110,4 +110,7 @@ tasks {
register("printMinimapVersion") {
println(minimap_version)
}
register("printXaeroPlusVersion") {
println(version)
}
}
4 changes: 4 additions & 0 deletions fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ val minecraft_version: String by rootProject
val parchment_version: String by rootProject
val loader_version: String by rootProject
val fabric_version: String by rootProject
val destArchiveVersion = "${project.version}+${loom.platform.get().id()}-${minecraft_version}"
val destArchiveClassifier = "WM${worldmap_version}-MM${minimap_version}"

dependencies {
modImplementation("net.fabricmc:fabric-loader:${loader_version}")
Expand Down Expand Up @@ -77,6 +79,8 @@ tasks {
injectAccessWidener = true
dependsOn(shadowJar)
inputFile.set(shadowJar.get().archiveFile)
archiveVersion = destArchiveVersion
archiveClassifier = destArchiveClassifier
}
}

Expand Down
6 changes: 6 additions & 0 deletions forge/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ val minecraft_version: String by rootProject
val parchment_version: String by rootProject
val loader_version: String by rootProject
val forge_version: String by rootProject
val destArchiveVersion = "${project.version}+${loom.platform.get().id()}-${minecraft_version}"
val destArchiveClassifier = "WM${worldmap_version}-MM${minimap_version}"

sourceSets.main.get().java.srcDir(common.layout.buildDirectory.get().asFile.path + "/remappedSources/forge/java")
sourceSets.main.get().resources.srcDir(common.layout.buildDirectory.get().asFile.path + "/remappedSources/forge/resources")
Expand Down Expand Up @@ -76,6 +78,8 @@ tasks {
transformers.add(TransformForgeEnvironment())
transformers.add(FixForgeMixin())
loom.setGenerateSrgTiny(true)
archiveVersion = destArchiveVersion
archiveClassifier = destArchiveClassifier
}

shadowJar {
Expand All @@ -85,5 +89,7 @@ tasks {
remapJar {
dependsOn(shadowJar, transformForge)
inputFile.set(shadowJar.get().archiveFile.get())
archiveVersion = destArchiveVersion
archiveClassifier = destArchiveClassifier
}
}
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ minecraft_version=1.20.1
parchment_version=2023.09.03
loader_version=0.15.2
# Mod Properties
mod_version=1.20.1
mod_version=2.0
maven_group=xaeroplus
archives_base_name=xaeroplus
archives_base_name=XaeroPlus
# Dependencies
fabric_version=0.91.0+1.20.1
forge_version=1.20.1-47.1.0
Expand Down
2 changes: 1 addition & 1 deletion gradlew
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash

#
# Copyright © 2015-2021 the original authors.
Expand Down

0 comments on commit 073a25a

Please sign in to comment.