Automate release publishing via GitHub Actions#493
Conversation
- Migrate from legacy variant API (AppExtension, TestedExtension, BaseVariant) to new variant API (ApplicationExtension, ApplicationAndroidComponentsExtension, Variant) - Replace testVariants.configureEach with onVariants callbacks for APK path detection - Add VariantApkInfo data class to capture variant info during configuration - Update Gradle wrapper from 8.14.3 to 9.1.0 (minimum required by AGP 9.0) - Update Kotlin language/API version from 1.7 to 2.0 - Remove kotlin-android plugin from sample projects (built-in in AGP 9.0) - Add <T : Any> type bounds for Kotlin 2.0 compatibility - Change task classes from open to abstract (AGP 9 requirement) - Update minimum Gradle version from 7.3 to 9.1 Fixes #478
Add a release workflow triggered on tag push that publishes to Maven Central, Gradle Plugin Portal, and creates a GitHub Release. Simplify CI snapshot publishing to use a single vanniktech publishToMavenCentral task and pass secrets via env vars instead of -P flags. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Code ReviewSummary: Automates release publishing via GitHub Actions. New ✅ Strengths
|
Summary
gradle-release.ymlworkflow triggered on tag push (v*) that publishes to Maven Central, Gradle Plugin Portal, and creates a GitHub Release with auto-generated notespublishToMavenCentraltask-PCLI flags toORG_GRADLE_PROJECT_*env varsdocs/releasing.mdto reflect the new automated flowRequired secrets
These need to be added to the repo settings (if not already present):
GPG_SIGNING_KEY— ASCII-armored GPG private keyGPG_SIGNING_KEY_ID— last 8 chars of key IDGPG_SIGNING_KEY_PASSWORD— key passphraseGRADLE_PUBLISH_KEY— Gradle Plugin Portal API keyGRADLE_PUBLISH_SECRET— Gradle Plugin Portal API secret🤖 Generated with Claude Code