From 36fddb36b4c8ff34c7787e22c9dd63cdb522c229 Mon Sep 17 00:00:00 2001 From: AWSHurneyt Date: Wed, 22 Feb 2023 10:13:10 -0800 Subject: [PATCH] 2.x branch - Publish snapshots to maven via GHA (#365) * Publish snapshots to maven via GHA Signed-off-by: Ashish Agrawal * fix task name Signed-off-by: Ashish Agrawal * Adjusted maven function used by workflow. Signed-off-by: AWSHurneyt --------- Signed-off-by: Ashish Agrawal Signed-off-by: AWSHurneyt Co-authored-by: Ashish Agrawal (cherry picked from commit 5b9de9826de9cc3f12e6c09dbe7707a464c75a5c) --- .github/workflows/maven-publish.yml | 39 +++++++++++++++++++++++++++++ build.gradle | 8 ++++++ 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/maven-publish.yml diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml new file mode 100644 index 00000000..944c248c --- /dev/null +++ b/.github/workflows/maven-publish.yml @@ -0,0 +1,39 @@ +name: Publish snapshots to maven + +on: + workflow_dispatch: + push: + branches: [ + main + 1.* + 2.* + ] + +jobs: + build-and-publish-snapshots: + strategy: + fail-fast: false + if: github.repository == 'opensearch-project/common-utils' + 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: 17 + - 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 publishShadowPublicationToSnapshotsRepository diff --git a/build.gradle b/build.gradle index 9e4f2194..5cdebae5 100644 --- a/build.gradle +++ b/build.gradle @@ -165,6 +165,14 @@ publishing { name = 'staging' url = "${rootProject.buildDir}/local-staging-repo" } + maven { + name = "Snapshots" + url = "https://aws.oss.sonatype.org/content/repositories/snapshots" + credentials { + username "$System.env.SONATYPE_USERNAME" + password "$System.env.SONATYPE_PASSWORD" + } + } } publications { shadow(MavenPublication) {