Skip to content

Release 1.0.4

Release 1.0.4 #1

name: Publish to Modrinth
# Triggers when you publish a GitHub Release
on:
release:
types: [published]
workflow_dispatch:
inputs:
tag:
description: 'Release tag to publish (e.g. 1.0.4)'
required: true
type: string
changelog:
description: 'Changelog / release notes (markdown)'
required: false
type: string
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# 1. Check out the repository at the release tag
- name: Checkout repository
uses: actions/checkout@v4
# 2. Set up Java 21 (required by StrangerRealms' build)
- name: Set up Java 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
# 3. Cache Maven dependencies to speed up builds
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
# 4. Build the JAR
# GIT_BRANCH=origin/master activates the master profile in pom.xml,
# which sets revision=${build.version} (no -SNAPSHOT suffix) and
# clears build.number, producing StrangerRealms-{version}.jar.
- name: Build with Maven
run: mvn -B package --no-transfer-progress
env:
GIT_BRANCH: origin/master
# 5. Upload the JAR to Modrinth
#
# Prerequisites — add these secrets in your GitHub repo settings
# (Settings → Secrets and variables → Actions):
#
# MODRINTH_TOKEN — personal access token from https://modrinth.com/settings/pats
# (scope: "Create versions")
# MODRINTH_PROJECT_ID — your Modrinth project ID, visible on your project page
# under the three-dot menu ("Copy ID")
#
- name: Publish to Modrinth
uses: cloudnode-pro/modrinth-publish@v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
project: ${{ secrets.MODRINTH_PROJECT_ID }}
# Use the release tag, or the manually supplied tag when triggered via workflow_dispatch
version: ${{ github.event.release.tag_name || inputs.tag }}
# Use the GitHub release body, or the manually supplied changelog for workflow_dispatch
changelog: ${{ github.event.release.body || inputs.changelog }}
# Release channel — auto-detected from version string:
# *-alpha → alpha, *-beta → beta, anything else → release
# Override here if needed: release | beta | alpha
# channel: release
# StrangerRealms is a BentoBox game mode add-on running on Paper/Purpur
loaders: |-
paper
purpur
# Minecraft versions this release supports.
# Update this list when you start supporting newer or older MC versions.
game-versions: |-
1.21.5
1.21.6
1.21.7
1.21.8
1.21.9
1.21.10
1.21.11
26.1
26.1.1
# Path to the built JAR — Maven produces StrangerRealms-{version}.jar in target/
files: target/StrangerRealms-${{ github.event.release.tag_name || inputs.tag }}.jar