Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish snapshots to Sonatype Snapshot repository #17

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/publish-snapshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Publish snapshots to Maven

on:
workflow_dispatch:
push:
branches:
- 'main'
- '2.*'

jobs:
build-and-publish-snapshots:
strategy:
fail-fast: false
if: github.repository == 'opensearch-project/opensearch-remote-metadata-sdk'
runs-on: ubuntu-latest

permissions:
id-token: write
contents: write

steps:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- uses: actions/checkout@v4
- uses: aws-actions/[email protected]
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 publishMavenJavaPublicationToSnapshotsRepository
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we need to do: ./gradlew publishPluginZipPublicationToSnapshotsRepository? Ref

ml-commons does the same.

Copy link
Member Author

@dbwiddis dbwiddis Jan 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this is not a plugin. It's a JAR file.

The gradle task is mavenJava:

mavenJava(MavenPublication) {

ml-commons also publishes a shadow jar in the same line you linked, as does common-utils which we are logically more similar to.

I wouldn't mind having a shadow vs. normal jar discussion and switching to that later if there's a strong reason to, but that's an extra level of complexity right now and I'm really trying to get this published in some way to unblock plugin work. 2.19.0 code freeze is 25 days away so any unnecessary configuration at this point is risking feature delivery.