Skip to content

Commit

Permalink
Add workflow to publish snapshots via GHA (#325)
Browse files Browse the repository at this point in the history
* Add workflow to publish snapshots via GHA

Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>

* Fix task name

Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>

* Fix conflict and add documentation

Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>

Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>
  • Loading branch information
gaiksaya authored Jan 14, 2023
1 parent 9657df6 commit 96f47d5
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 53 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/publish-snapshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Publish snapshots to maven

on:
push:
branches:
- main

jobs:
build-and-publish-snapshots:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: adopt
- name: Configure AWS credentials
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)
./gradlew --no-daemon publishPublishMavenPublicationToSnapshotsRepository
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Add javadoc link for the client ([#255](https://github.com/opensearch-project/opensearch-java/pull/255))
- Add 1-click release workflows ([#321](https://github.com/opensearch-project/opensearch-java/pull/321))
- Introduce new OpenSearchTransport based on Apache HttpClient 5 ([#281](https://github.com/opensearch-project/opensearch-java/pull/281))
- Add workflow to publish snapshots via GHA ([#325](https://github.com/opensearch-project/opensearch-java/pull/325))

### Dependencies
- Bumps `classgraph` from 4.8.149 to 4.8.154
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Please see the [USER_GUIDE](USER_GUIDE.md) for code snippets.
* [Documentation](https://opensearch.org/docs/latest/clients/java/)
* [JavaDoc](https://www.javadoc.io/doc/org.opensearch.client/opensearch-java/latest/index.html)
* [Maven Central](https://search.maven.org/artifact/org.opensearch.client/opensearch-java)
* [Snapshot Builds](https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/client/opensearch-java/)
* [Snapshot Builds](#snapshot-builds)
* Need help? Try [Forums](https://discuss.opendistrocommunity.dev/)
* [Project Principles](https://opensearch.org/#principles)
* [Contributing to OpenSearch](CONTRIBUTING.md)
Expand All @@ -52,6 +52,9 @@ This project has adopted the [Amazon Open Source Code of Conduct](CODE_OF_CONDUC

See [User Guide](USER_GUIDE.md).

## Snapshot Builds
The [snapshots builds](https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/client/opensearch-java/) are published to sonatype using [publish-snapshots.yml](./.github/workflows/publish-snapshots.yml) workflow. Each `push` event to the main branch triggers this workflow.

## Compatibility with OpenSearch

See [Compatibility](COMPATIBILITY.md).
Expand Down
7 changes: 5 additions & 2 deletions java-client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,11 @@ publishing {
repositories{
if (version.toString().endsWith("SNAPSHOT")) {
maven("https://aws.oss.sonatype.org/content/repositories/snapshots/") {
name = "snapshotRepo"
credentials(PasswordCredentials::class)
name = "Snapshots"
credentials {
username = System.getenv("SONATYPE_USERNAME")
password = System.getenv("SONATYPE_PASSWORD")
}
}
}
maven("${rootProject.buildDir}/repository") {
Expand Down
50 changes: 0 additions & 50 deletions jenkins/publish-snapshot.jenkinsfile

This file was deleted.

0 comments on commit 96f47d5

Please sign in to comment.