From b9c20aef9e9386635f697ef6b86b9520cc6cfb51 Mon Sep 17 00:00:00 2001 From: Rupal Mahajan Date: Tue, 21 Feb 2023 10:52:31 -0800 Subject: [PATCH] Add publish snapshots to maven via GHA (#1417) * Add publish snapshots to maven via GHA Signed-off-by: Rupal Mahajan * Add rootProject name in seetings.gradle to change plugin name to opensearch-observability Signed-off-by: Rupal Mahajan --------- Signed-off-by: Rupal Mahajan (cherry picked from commit 298bf9f1e7b89b468e7a1756b945256090fde339) --- .github/workflows/maven-publish.yml | 36 +++++++++++++++++++++++++++++ build.gradle | 10 ++++++++ settings.gradle | 6 +++++ 3 files changed, 52 insertions(+) create mode 100644 .github/workflows/maven-publish.yml create mode 100644 settings.gradle diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml new file mode 100644 index 000000000..734589752 --- /dev/null +++ b/.github/workflows/maven-publish.yml @@ -0,0 +1,36 @@ +name: Publish snapshots to maven + +on: + workflow_dispatch: + push: + branches: [ + main + 1.* + 2.* + ] + +jobs: + build-and-publish-snapshots: + runs-on: ubuntu-latest + + permissions: + id-token: write + contents: write + + steps: + - uses: actions/setup-java@v3 + with: + distribution: temurin # Temurin is a distribution of adoptium + java-version: 11 + - uses: actions/checkout@v3 + - uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.PUBLISH_SNAPSHOTS_ROLE }} + aws-region: us-east-1 + - name: publish snapshots to maven + run: | + export SONATYPE_USERNAME=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-username --query SecretString --output text) + export SONATYPE_PASSWORD=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-password --query SecretString --output text) + echo "::add-mask::$SONATYPE_USERNAME" + echo "::add-mask::$SONATYPE_PASSWORD" + ./gradlew publishPluginZipPublicationToSnapshotsRepository \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8c74786ba..22a7e0412 100644 --- a/build.gradle +++ b/build.gradle @@ -92,6 +92,16 @@ publishing { } } } + repositories { + maven { + name = "Snapshots" // optional target repository name + url = "https://aws.oss.sonatype.org/content/repositories/snapshots" + credentials { + username "$System.env.SONATYPE_USERNAME" + password "$System.env.SONATYPE_PASSWORD" + } + } + } } publishing { diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..2ae600d5a --- /dev/null +++ b/settings.gradle @@ -0,0 +1,6 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +rootProject.name = 'opensearch-observability'