Release guide¶
Step-by-step for cutting a public release of MythicRod. Every secret named here is configured at Settings → Secrets and variables → Actions on the GitHub repository. Nothing in this file expects you to paste a token into a file on disk.
Children¶
1. Required repo secrets¶
| Secret | Used by | Notes |
|---|---|---|
HANGAR_API_TOKEN |
.github/workflows/publish-hangar.yml |
Personal API key from Hangar account settings. |
MODRINTH_TOKEN |
.github/workflows/publish-modrinth.yml |
Personal access token with Write versions/Create versions. |
CROWDIN_PERSONAL_TOKEN |
.github/workflows/crowdin.yml |
Optional; only needed for the Crowdin push/pull job. |
SONAR_TOKEN |
.github/workflows/sonar.yml |
Optional; SonarCloud scanning. |
Verify they exist before tagging:
If a publish secret is missing the corresponding workflow logs not
configured and skips publishing. Local builds never need any of these.
2. Pre-flight checks¶
Both must succeed. The Paper jar lands at
mythicrod-paper/build/libs/MythicRod-Paper-<version>.jar. The Spigot stub
lands at mythicrod-spigot/build/libs/MythicRod-Spigot-<version>.jar.
Spot-check on a live Paper server using the manual runbook in
docs/testing.md. Folia validation is the last section there.
3. Update the changelog¶
Add the new release entry to the top of CHANGELOG.md using calver
(<year>.<release>.<patch>). Keep the entry concise and human-written.
4. Tag and push¶
Three workflows fire in parallel:
- Build and Release assembles, uploads the jar, attaches SHA-256
checksums, and creates the GitHub Release. Tags containing
-rc,-beta,-alpha, or-snapshotare marked pre-release automatically. - Publish to Hangar uses
io.papermc.hangar-publish-pluginand the Hangar token to upload the shaded Paper jar. - Publish to Modrinth uses
Kir-Antipov/mc-publishwith channel auto-detected from the tag.
5. After the workflows finish¶
- Confirm the GitHub Release page lists
MythicRod-Paper-<version>.jarplus its.sha256. - Confirm the Hangar version page is live at https://hangar.papermc.io/xcutiboo/MythicRod/versions.
- Confirm the Modrinth version page is live at https://modrinth.com/plugin/mythicrod/versions.
- Bump the docs
version-targetsindocs/index.mdif anything moved.
6. Hot-fix retag¶
Workflows are idempotent. Re-tagging cleanly retries the publish steps.
7. Versioning policy¶
CalVer: <year>.<release>.<patch>.
- Patch (
2026.1.1) ships bug fixes only. No API changes. - Release (
2026.2.0) adds features. Public API stays binary-compatible. - Year roll-over (
2027.1.0) may rename or remove API only when the changelog calls it out explicitly.
Never mix the plugin version with paper-plugin.yml: api-version. The
plugin version is independent of the Minecraft API version.