Releasing
This repository publishes Kotlin Multiplatform artifacts to Maven Central through the Sonatype Central Portal.
Artifacts
The release workflow publishes these coordinates:
io.zenwave360.jsonrefparser:json-schema-ref-parser-kmpio.zenwave360.jsonrefparser:json-schema-ref-parser-kmp-jvmio.zenwave360.jsonrefparser:json-schema-ref-parser-kmp-js
Repository Prerequisites
Before the first public release, make sure all of the following are in place:
- The GitHub repository is public.
- The
io.zenwave360.jsonrefparsernamespace is registered and verified in the Sonatype Central Portal. - A GPG keypair exists for artifact signing and the public key has been published.
- GitHub Actions secrets are configured.
Supported secret names used by the current GitHub workflows:
CENTRAL_USERNAMECENTRAL_TOKENSIGN_KEYSIGN_KEY_PASS
Release Flow
There are two workflows involved:
Create Gradle ReleaseUpdatesbuild.gradle.ktsto the release version, creates tagv<releaseVersion>, bumps to the next snapshot version, and opens a release PR.Publish Release to Maven CentralRuns automatically when av*tag is pushed and executes./gradlew publishAndReleaseToMavenCentral.
Manual Release Steps
- Run the
Create Gradle Releaseworkflow with:releaseVersion, for example0.9.20developmentVersion, for example1.0.0-SNAPSHOT
- Verify that tag
v<releaseVersion>was pushed. - Watch the
Publish Release to Maven Centralworkflow. - After Central Portal validation and release complete, wait for Maven Central indexing.
Snapshot Publishing
The Build and Publish Snapshots workflow uses ./gradlew publishToMavenCentral. Keep the project version on a -SNAPSHOT suffix when using that workflow.