kzstd publishes to Maven Central (org.meshtastic:kzstd) via the vanniktech
maven-publish plugin, driven by .github/workflows/release.yml. JitPack
(com.github.meshtastic:kzstd) is a fallback channel.
The repository needs three GitHub Actions secrets (the vanniktech
ORG_GRADLE_PROJECT_* convention):
SIGNING_KEY— the in-memory GPG signing key.OSSRH_USERNAME— Sonatype Central Portal username.OSSRH_PASSWORD— Sonatype Central Portal password.
- Pick the new version
X.Y.Z(SemVer; pre-1.0 may break in minors). - Update
VERSIONandgradle.properties(VERSION_NAME) toX.Y.Z— they must match (the release workflow verifies this and fails loudly otherwise). - Move the
## [Unreleased]notes inCHANGELOG.mdunder a new## [X.Y.Z]heading and update the compare links. - If the public API changed, ensure
api/kzstd.apiwas refreshed (./gradlew apiDump). - Commit (signed off) and open/merge the PR.
- Trigger the release: push a
vX.Y.Ztag, or run the Release workflow viaworkflow_dispatch(it tags for you).
The workflow then builds all 13 targets on macos-latest, publishes to Maven
Central, and creates a GitHub Release. It is idempotent: it probes
repo1.maven.org first and skips the publish if X.Y.Z is already there, so a
re-run after a partial failure is safe.
Maven Central → repo1 propagation typically takes 10–30 minutes. Verify
https://repo1.maven.org/maven2/org/meshtastic/kzstd-jvm/X.Y.Z/ resolves before
downstream consumers bump.