Repository navigation
Releasing
Pavel Erokhin edited this page Oct 19, 2026
·
1 revision
Releases come from the “Release” workflow on GitHub. Nothing in the repository holds the version; the workflow takes it as input.
-
Add a
## X.Y.Zsection toCHANGELOG.md, written for server owners: a patch for fixes, a minor version for features, a major one for breaking changes. Push it. -
Run the workflow, from Actions → Release → Run workflow, or:
gh workflow run release.yml -R MairwunNx/mojoins -f version=X.Y.Z -f modrinth=true -f hangar=true
-
Watch it:
gh run watch.
- Takes the notes from the version’s
CHANGELOG.mdsection, or from itschangelogfield. - Builds and tests with
-PreleaseVersion=X.Y.Z. - Tags
vX.Y.Zand creates a GitHub release withmojoins-X.Y.Z.jarandmojoins.jar, soreleases/latest/download/mojoins.jaralways fetches the newest. - With
modrinth: uploads the jar to Modrinth (mojoins) and syncsMODRINTH.mdas the project page. - With
hangar: uploads the jar to Hangar (MairwunNx/MoJoins), Release channel. Hangar doesn’t sync its page; edit it on the site after a big change. - With
moonlands(on by default): starts the shipping workflow of Moonlands, which puts the jar on the server.
The stores need the MODRINTH_TOKEN and HANGAR_TOKEN secrets, and Moonlands FAMILY_ACTIONS_TOKEN.
A version can’t be released twice: the workflow stops when its tag exists. Never delete or re-tag a published release; finish a half-failed one by hand.
Mo’Joins on GitHub · Related projects · IP Geolocation by DB-IP, CC BY 4.0