Skip to content

chore: create release workflows to publish repo to Maven Central#107

Closed
sasirekha3 wants to merge 3 commits intoaws-observability:mainfrom
sasirekha3:chore/release-workflows
Closed

chore: create release workflows to publish repo to Maven Central#107
sasirekha3 wants to merge 3 commits intoaws-observability:mainfrom
sasirekha3:chore/release-workflows

Conversation

@sasirekha3
Copy link
Copy Markdown
Contributor

@sasirekha3 sasirekha3 commented Oct 24, 2025

Release Workflows

Step Action Details
Prerequisites Create Sonatype Account Register at oss.sonatype.org
Generate GPG Key This was generated for us
Configure GitHub Secrets Add AWS Secrets Manager ARNs to repository secrets
AWS Secrets MAVEN_CENTRAL_USERNAME_SECRET_ARN Fetch from AWS Secrets Manager
MAVEN_CENTRAL_PASSWORD_SECRET_ARN Fetch from AWS Secrets Manager
SIGNING_KEY_SECRET_ARN Base64 encoded GPG private key (gpg --export-secret-keys --armor KEY_ID | base64)
SIGNING_PASSWORD_SECRET_ARN GPG key passphrase
Build Config Publishing Plugin maven-publish with POM metadata
Signing Automatic signing of all publications
Credentials MAVEN_CENTRAL_USERNAME_SECRET_ARN → ORG_GRADLE_PROJECT_sonatypeUsername
MAVEN_CENTRAL_PASSWORD_SECRET_ARN → ORG_GRADLE_PROJECT_sonatypePassword
Repository https://aws.oss.sonatype.org/service/local/staging/deploy/maven2/
Release Process Pre-release Run pre_release.yml workflow to create version PR
Release Run release.yml workflow to build, sign, and publish to Maven Central
Post-release Run post_release.yml workflow to bump version for next development cycle

Overview

Adds automated release workflows to publish the AWS OpenTelemetry Android library to Maven Central, replacing the previous Swift-focused release process.

Changes Made

GitHub Workflows (3 files)

pre_release.yml: Creates version update PRs, reads version from gradle.properties instead of Info.plist
release.yml: Builds, signs, and publishes to Maven Central with secure credential management
post_release.yml: Bumps version for next development cycle using gradle.properties

Build Configuration

core/build.gradle.kts: Added Maven publishing configuration with POM metadata, signing, and Sonatype repository setup

Key Features

Secure Credentials: Uses AWS Secrets Manager for Maven Central and GPG signing credentials
Automated Signing: GPG signs all artifacts before publishing
Version Management: Automated version bumping and branch management
Android-Specific: Proper JDK 17 and Android SDK setup for CI builds

Required Setup

• Sonatype OSSRH account and GPG signing key
• AWS Secrets Manager entries for credentials
• GitHub repository secrets configured with AWS ARNs


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@sasirekha3 sasirekha3 requested a review from a team as a code owner October 24, 2025 23:09
@sasirekha3 sasirekha3 requested review from Doohl and williazz October 24, 2025 23:29
@sasirekha3 sasirekha3 closed this Nov 14, 2025
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