Skip to content

Commit

Permalink
[Backport 1.3] Publish snapshots to maven via GHA (#805) (#1101)
Browse files Browse the repository at this point in the history
* Publish snapshots to maven via GHA

Signed-off-by: Ashish Agrawal <[email protected]>

* auto publish setup

Signed-off-by: Ashish Agrawal <[email protected]>

---------

Signed-off-by: Ashish Agrawal <[email protected]>
  • Loading branch information
lezzago authored Aug 22, 2023
1 parent a3830bd commit 99a3264
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/maven-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Publish snapshots to maven

on:
workflow_dispatch:
push:
branches:
- main
- '[0-9]+.[0-9]+'
- '[0-9]+.x'

jobs:
build-and-publish-snapshots:
strategy:
fail-fast: false
matrix:
jdk: [17]
platform: ["ubuntu-latest"]
if: github.repository == 'opensearch-project/alerting'
runs-on: ${{ matrix.platform }}

permissions:
id-token: write
contents: write

steps:
- uses: actions/setup-java@v3
with:
distribution: temurin # Temurin is a distribution of adoptium
java-version: ${{ matrix.jdk }}
- 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
35 changes: 35 additions & 0 deletions alerting/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,41 @@ opensearchplugin {
extendedPlugins = ['lang-painless']
}

publishing {
publications {
pluginZip(MavenPublication) { publication ->
pom {
name = "opensearch-alerting"
description = "OpenSearch Alerting plugin"
groupId = "org.opensearch.plugin"
licenses {
license {
name = "The Apache License, Version 2.0"
url = "http://www.apache.org/licenses/LICENSE-2.0.txt"
}
}
developers {
developer {
name = "OpenSearch"
url = "https://github.com/opensearch-project/alerting"
}
}
}
}
}

repositories {
maven {
name = "Snapshots"
url = "https://aws.oss.sonatype.org/content/repositories/snapshots"
credentials {
username "$System.env.SONATYPE_USERNAME"
password "$System.env.SONATYPE_PASSWORD"
}
}
}
}

// Prefer elastic bundled versions for conflicts (primarily with AWS SDK). We need to specify these manually because
// opensearchplugin sets ResolutionStrategy.failOnVersionConflict. Luckily it is also nice enough to expose (most of) the
// versions it uses in ext.versions.
Expand Down

0 comments on commit 99a3264

Please sign in to comment.