Release process¶
This guide covers the complete release workflow for OpenAPI Test Generator.
Overview¶
A release involves:
- Preparing the codebase (version bump, changelog, checks)
- Publishing library modules to Maven Central
- Publishing the Gradle plugin to the Gradle Plugin Portal
- Creating a GitHub release (optional)
Prerequisites¶
Before your first release, complete the one-time setup in Publishing artifacts:
- Maven Central Portal account with verified namespace
- Gradle Plugin Portal account with API keys
- GPG signing key uploaded to keyservers
- Credentials configured in
~/.gradle/gradle.propertiesor environment
Release checklist¶
1. Prepare the release¶
Update the version number:
Update the changelog:
2. Run verification checks¶
# Run all tests and quality checks
./gradlew check
# Verify binary API compatibility
./gradlew apiCheck
# Build documentation (optional but recommended)
./gradlew dokkaHtmlMultiModule
All checks must pass before proceeding.
3. Commit and tag¶
git add -A
git commit -m "Release 0.9.0"
git tag -a 0.9.0 -m "Release 0.9.0"
git push origin master --tags
4. Publish to Maven Central¶
for module in model example-value core generator-template pattern-value pattern-support distribution-bundle cli plugin; do
./gradlew -p "$module" publishAllPublicationsToMavenCentralRepository
done
After upload completes:
- Log in to central.sonatype.com
- Go to "Deployments"
- Verify staged artifacts
- Click "Publish" to release
Wait for sync
Artifacts may take up to 30 minutes to appear on Maven Central after publishing.
5. Publish to Gradle Plugin Portal¶
The plugin appears on plugins.gradle.org within minutes.
6. Create GitHub release (optional)¶
- Go to the repository releases page
- Create a new release from the tag
- Copy release notes from changelog
- Attach CLI native binaries if built
Post-release¶
After a successful release:
- Bump version to next snapshot (e.g.,
0.10.0-SNAPSHOT) for continued development - Announce the release (if applicable)
Hotfix releases¶
For urgent fixes on a released version:
# Create hotfix branch from tag
git checkout -b hotfix/0.9.1 0.9.0
# Apply fixes, then follow normal release process
# with version 0.9.1
Dry run¶
To verify the release process without publishing:
# Build all artifacts locally
./gradlew publishToMavenLocal
# Check ~/.m2/repository/art/galushko/ for artifacts
ls -la ~/.m2/repository/art/galushko/
Troubleshooting¶
See Publishing artifacts - Troubleshooting for common issues.