You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are de-coupling the task of publishing the maven snapshots from centralized build workflow to individual repositories. What this means is each repo can now publish maven snapshots using GitHub Actions.
This change unblocks the dependent components from waiting for a successful build before they can consume the snapshots. This also ensures that all snapshots are independent and up to date.
What do you need to do?
Determine what artifacts you publish to maven. Most plugins publish only zips. Example.
Add below repository under publishing in build.gradle:
Add @gaiksaya as a reviewer, who will also take care of creating the IAM role that is required to fetch the credentials and add it to the GitHub Secrets.
Testing
Test by editing the snapshot repository by updating the Snapshots target repository from maven to a local file system path.
maven {
name = "Snapshots" // optional target repository name
url = "snapshots"
}
Run the command ./gradlew which will publish the files in the file system under the 'snapshots' folder, then scan with find or your favor directory scanner to see the zip + pom with sha files
For future reference for the team regarding Job Scheduler snapshot publication to maven, please correct me if I am misunderstanding.
Currently, the path org.opensearch.opensearch-job-scheduler contains both the jars and zips. Though zips should not be published to this location, the maven metadata.xml prevents zips from being pulled from this location since extension is set as jar here : <extension>jar</extension>. Dependent plugins rely on jars for Job Scheduler dependencies
The path org.opensearch.plugin.opensearch-job-scheduler contains only the zip files, which dependent plugins rely on for backwards compatibility tests.
Moving forward, we planning on deprecating the path org.opensearch.opensearch-job-scheduler and org.opensearch.opensearch-job-scheduler-spi and relocating both to org.opensearch.plugin.~
Once Job Scheduler is relocated as a native plugin, org.opensearch.plugin.opensearch-job-scheduler will contain only the jars.
Coming from opensearch-build#3185
What is happening?
We are de-coupling the task of publishing the maven snapshots from centralized build workflow to individual repositories. What this means is each repo can now publish maven snapshots using GitHub Actions.
This change unblocks the dependent components from waiting for a successful build before they can consume the snapshots. This also ensures that all snapshots are independent and up to date.
What do you need to do?
publishing
in build.gradle:Example
./gradlew publishPluginZipPublicationToSnapshotsRepository
.Testing
Test by editing the snapshot repository by updating the Snapshots target repository from maven to a local file system path.
build.gradle
->
Run the command ./gradlew which will publish the files in the file system under the 'snapshots' folder, then scan with
find
or your favor directory scanner to see the zip + pom with sha filesPlease feel free to reach out to @opensearch-project/engineering-effectiveness.
The text was updated successfully, but these errors were encountered: