Release Checklist¶
1.0.0 Gate¶
- All public APIs reviewed for source and binary compatibility.
apiCheckpasses.- Dokka generation passes.
- Catalog and sample debug APKs assemble.
- Component Roborazzi screenshots record successfully.
publishToMavenLocalpasses before pushing a tag when local signing is configured.- Baseline profile generation is reviewed when startup or sample navigation changes.
- Accessibility checklist is complete.
- Performance checklist is complete.
- GitHub Pages deployment succeeds from
mainbefore cutting a release. - Maven Central publishing credentials and signing are configured outside the repository.
Verification¶
./gradlew check :components:recordRoborazziDebug :catalog:assembleDebug :sample:assembleDebug publishToMavenLocal
python -m pip install -r requirements-docs.txt
mkdocs build --strict
If local signing is not configured, run the same verification without publishToMavenLocal and let the tag-triggered release workflow perform the signed publish in CI.
Before pushing the release tag:
- Set
VERSION_NAMEingradle.propertiesto the release version. - Commit and push that version bump to
main. - Create and push a tag with the same release version and the
vprefix, for examplev0.2.0.
GitHub Release¶
Pushing a tag matching v*.*.* runs .github/workflows/release.yml, publishes Maven artifacts, and creates the GitHub Release automatically.
The workflow currently attaches these assets to the GitHub Release:
catalog/build/outputs/apk/debug/catalog-debug.apksample/build/outputs/apk/debug/sample-debug.apkcomponent-screenshots.tar.gz
The published Maven artifact version comes from VERSION_NAME in gradle.properties, so keep v0.2.0-style tags aligned with 0.2.0 in VERSION_NAME.
Versioning¶
After 1.0.0, follow SemVer and keep deprecated APIs for at least one minor release before removal.