Contributing: CI/CD and Releases
This page summarizes the maintenance and release process used for Kore.
Version ownership
Kore tracks two coordinated version streams:
- Minecraft target version in
gradle.properties. - Project version in
build-logic/convention/src/main/kotlin/Project.kt.
Expected increment conventions:
- Breaking/major change:
+0.1 - Minor fix/addition:
+0.0.1
Release naming pattern
Observed release tags combine project and Minecraft targets, for example:
2.0.0-1.21.111.42.1-1.21.111.41.1-1.21.11-rc3
This pattern keeps compatibility intent visible directly in release identifiers.
Minecraft update flow
For update cycles:
- Add/update tests for new snapshot/release behavior.
- Update project and Minecraft versions.
- Run relevant module tests.
- Update docs for API or behavior changes.
Website release metadata behavior
Website build logic includes GitHub release fetching to generate website-side release metadata.
Maintainer notes:
GITHUB_TOKENhelps avoid API limits and improves reliability.- Generated outputs are artifacts, not hand-maintained source.
GitHub Actions automation overview
Current repository automation is split across dedicated workflows under .github/workflows:
ci.yml: runs the Gradle test suite on pushes and pull requests targetingmaster.codeql.yml: runs GitHub CodeQL analysis foractionsandjava-kotlinon pushes, pull requests, manual dispatch, and a weekly schedule.publish.yml: performs the manual release publication flow.publish-snapshot.yml: publishes snapshot artifacts frommaster.
CodeQL is intentionally scoped to the meaningful code in this repository:
actionscovers the GitHub workflow files themselves.java-kotlincovers the Gradle/Kotlin codebase.
The scheduled CodeQL run uses GitHub Actions cron syntax in UTC and is set to once per week to keep regular security coverage without adding noise to every day.
Commit message conventions
chore(minecraft): Increase Minecraft version to X.Y.Z.chore(project): Increase project version to X.Y.Z.feat(code): Update project to Minecraft version X.Y.Z.
Consistent messages improve changelog scanning and release auditability.
Where to start for maintainers
- For version bumps: start with test updates, then change version files, then docs.
- For release issues: check module labels and recent update issues for similar patterns.
- For contribution workflow details: use Contributing: Workflow.
