Skip to content

[1.21.1] - 0.1.0 - Copper Age Backport #7

[1.21.1] - 0.1.0 - Copper Age Backport

[1.21.1] - 0.1.0 - Copper Age Backport #7

Workflow file for this run

name: Publish Release
on:
release:
types: [published]
permissions:
contents: write
jobs:
build:
name: Build and Publish
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
cache: gradle
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Find Fabric JAR
id: find-fabric
run: |
FABRIC_JAR=$(find fabric/build/libs -name "*-fabric-*.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" | head -n 1)
echo "jar=$FABRIC_JAR" >> $GITHUB_OUTPUT
echo "name=$(basename $FABRIC_JAR)" >> $GITHUB_OUTPUT
- name: Find NeoForge JAR
id: find-neoforge
run: |
NEOFORGE_JAR=$(find neoforge/build/libs -name "*-neoforge-*.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" | head -n 1)
echo "jar=$NEOFORGE_JAR" >> $GITHUB_OUTPUT
echo "name=$(basename $NEOFORGE_JAR)" >> $GITHUB_OUTPUT
# Upload to GitHub Release
- name: Upload Fabric JAR to GitHub Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.find-fabric.outputs.jar }}
asset_name: ${{ steps.find-fabric.outputs.name }}
asset_content_type: application/java-archive
- name: Upload NeoForge JAR to GitHub Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.find-neoforge.outputs.jar }}
asset_name: ${{ steps.find-neoforge.outputs.name }}
asset_content_type: application/java-archive
# Upload Fabric to CurseForge
- name: Upload Fabric to CurseForge
uses: itsmeow/curseforge-upload@v3
with:
token: ${{ secrets.CURSEFORGE_TOKEN }}
project_id: ${{ secrets.CURSEFORGE_PROJECT_ID }}
game_endpoint: minecraft
file_path: ${{ steps.find-fabric.outputs.jar }}
changelog: ${{ github.event.release.body }}
changelog_type: markdown
display_name: ${{ steps.find-fabric.outputs.name }}
game_versions: "Minecraft 1.21:1.21.1,Java 21,Fabric,Client,Server"
release_type: ${{ github.event.release.prerelease && 'beta' || 'release' }}
relations: "fabric-api:requiredDependency"
# Upload NeoForge to CurseForge
- name: Upload NeoForge to CurseForge
uses: itsmeow/curseforge-upload@v3
with:
token: ${{ secrets.CURSEFORGE_TOKEN }}
project_id: ${{ secrets.CURSEFORGE_PROJECT_ID }}
game_endpoint: minecraft
file_path: ${{ steps.find-neoforge.outputs.jar }}
changelog: ${{ github.event.release.body }}
changelog_type: markdown
display_name: ${{ steps.find-neoforge.outputs.name }}
game_versions: "Minecraft 1.21:1.21.1,Java 21,NeoForge,Client,Server"
release_type: ${{ github.event.release.prerelease && 'beta' || 'release' }}
# Upload Fabric to Modrinth
- name: Upload Fabric to Modrinth
uses: cloudnode-pro/modrinth-publish@v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
project: ${{ secrets.MODRINTH_PROJECT_ID }}
name: ${{ github.event.release.name }} (Fabric)
version: ${{ github.event.release.tag_name }}
changelog: ${{ github.event.release.body }}
loaders: fabric
game-versions: "1.21.1"
files: ${{ steps.find-fabric.outputs.jar }}
channel: ${{ github.event.release.prerelease && 'beta' || 'release' }}
dependencies: |
[{
"project_id": "P7dR8mSH",
"dependency_type": "required"
}]
# Upload NeoForge to Modrinth
- name: Upload NeoForge to Modrinth
uses: cloudnode-pro/modrinth-publish@v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
project: ${{ secrets.MODRINTH_PROJECT_ID }}
name: ${{ github.event.release.name }} (NeoForge)
version: ${{ github.event.release.tag_name }}
changelog: ${{ github.event.release.body }}
loaders: neoforge
game-versions: "1.21.1"
files: ${{ steps.find-neoforge.outputs.jar }}
channel: ${{ github.event.release.prerelease && 'beta' || 'release' }}