Skip to content

fix(release): auto-release to Maven Central (automaticRelease = true)#45

Merged
abbaseya merged 4 commits into
mainfrom
fix/maven-central-auto-release
Jun 4, 2026
Merged

fix(release): auto-release to Maven Central (automaticRelease = true)#45
abbaseya merged 4 commits into
mainfrom
fix/maven-central-auto-release

Conversation

@abbaseya
Copy link
Copy Markdown
Collaborator

@abbaseya abbaseya commented Jun 4, 2026

Per request: make the Maven Central publish auto-release instead of leaving a pending deployment for manual "Publish" in the Portal UI.

Change

packages/sdk/build.gradle.kts: publishToMavenCentral()publishToMavenCentral(automaticRelease = true).

Per the vanniktech docs, the no-arg form defaults to manual release (upload + validate, then click Publish in the Portal). automaticRelease = true sets the deployment's publishingType=AUTOMATIC so it publishes to Maven Central automatically after validation. ("automaticRelease" is a publisher-side plugin setting — there is no equivalent toggle in the Central Portal UI.)

Verified the build still configures (./gradlew :packages:sdk:help).

⚠️ Not the current blocker

The latest Release run fails earlier, at GPG signing (signMavenPublication > Could not read PGP secret key) — a GPG_PRIVATE_KEY secret-content issue, separate from this change. This PR only changes what happens after a successful signed upload.

🤖 Generated with Claude Code

Change publishToMavenCentral() → publishToMavenCentral(automaticRelease = true)
so a validated deployment is published to Maven Central automatically after
upload, with no manual "Publish" click in the Central Portal UI. Verified the
build still configures (`:packages:sdk:help`).

Note: this only takes effect once the upstream signing blocker is resolved
(GPG_PRIVATE_KEY secret) — it does not by itself fix the current
signMavenPublication failure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@abbaseya abbaseya self-assigned this Jun 4, 2026
@abbaseya abbaseya requested a review from JosephSamirL June 4, 2026 01:42
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Maven Central publishing configuration in packages/sdk/build.gradle.kts to enable automatic releases (automaticRelease = true). Feedback suggests ensuring consistency by applying this change to the core module as well to prevent partial releases, and updating the RELEASE.md documentation to reflect the new automated process.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread packages/sdk/build.gradle.kts
…ad PGP secret key")

A local `:packages:sdk:publishToMavenLocal` with the real signing key and NO
keyId signs successfully (signMavenPublication runs, .asc files produced).
CI sets ORG_GRADLE_PROJECT_signingInMemoryKeyId from GPG_KEY_ID and fails with
"Could not read PGP secret key". The keyId is optional — the plugin derives
the key from the armored block — so drop it to match the proven-good local
config. (Pair with re-storing GPG_PRIVATE_KEY from `gpg --export-secret-keys
--armor` to rule out a mangled secret.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@abbaseya
Copy link
Copy Markdown
Collaborator Author

abbaseya commented Jun 4, 2026

Added a second commit: drop the optional ORG_GRADLE_PROJECT_signingInMemoryKeyId from release.yml. Evidence: a local publishToMavenLocal with the same key and no keyId signs cleanly (signMavenPublication succeeds, .asc files produced), while CI — which sets the keyId from GPG_KEY_ID — fails with Could not read PGP secret key. The keyId is optional (the plugin derives it from the armored block), so dropping it makes CI match the proven-good local config. Pair with re-storing GPG_PRIVATE_KEY from the exact gpg --export-secret-keys --armor output to also rule out a mangled secret.

abbaseya and others added 2 commits June 4, 2026 04:58
Sync the docs with the workflow change in this PR: release.yml no longer
reads ORG_GRADLE_PROJECT_signingInMemoryKeyId, so GPG_KEY_ID is no longer a
secret the release consumes. Remove it from both "secrets to configure"
tables. The key-creation/export narrative (finding the key id to run
`gpg --export-secret-keys`) is unchanged — that's still required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ni PR #45)

1. :packages:core (com.convert:sdk-core) was still publishToMavenCentral()
   (manual) while :packages:sdk auto-released. Since sdk-android's POM
   depends on sdk-core, a split would publish sdk-android live against a
   still-staged sdk-core — a broken/partial release. Set core to
   automaticRelease = true so both modules publish together.
2. RELEASE.md "what the release does" steps were stale: removed the
   obsolete manual "click Publish" step (now auto-release), and corrected
   the @semantic-release/git commit-to-main + CHANGELOG description (qs-03
   replaced it with @semantic-release/github tag + Release via API, no push
   to main).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@abbaseya abbaseya merged commit 18828ff into main Jun 4, 2026
10 checks passed
@abbaseya abbaseya deleted the fix/maven-central-auto-release branch June 4, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant