groovy codecov

OpenSearch Build Libraries

OpenSearch build libraries consist of shared libraries used to build, test and release OpenSearch, OpenSearch Dashboards and its associated products such as clients, drivers, etc.

Jenkins Shared Libraries

This repository consist of jenkins shared libraries as one of the libraries. Read more about jenkins shared libraries here Checkout different retrieval methods that can be used by jenkins files to use this remote library.

Example:

lib = library(identifier: 'jenkins@<tag>', retriever: modernSCM([
    $class: 'GitSCMSource',
    remote: 'https://github.com/opensearch-project/opensearch-build-libraries.git',
]))

Library Details

Name Description
standardReleasePipeline.groovy The library sets up the necessary jenkins properties for you such as agent label, docker image to use as well as workflow time out. Check how to use the default in your workflow and how to overide agent & docker image if you need.
standardReleasePipelineWithGenericTrigger.groovy A standard release pipeline for OpenSearch projects including generic triggers. A tag or a draft release can be used as a trigger using this library. The defaults are all set to trigger via a draft release. If the release is successful, the release can be published by using right params.. Check how to use the default in your workflow and how to overide values.
publishToNpm.groovy A library to publish artifacts to NPM registry under @opensearch-project namespace. You can use PublishToNpmLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
publishToPyPi.groovy A library to publish artifacts to PyPi registry with OpenSearch as the maintainer. This library takes care of signing the artifacts before publishing. You can use PublishToPyPiLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
publishToRubyGems.groovy A library to publish gems to rubygems.org with opensearchproject as the owner. Please note that this library expects the gems to be pre-signed. You can use PublishToRubyGemsLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
publishToMaven.groovy A library to sign and deploy opensearch maven artifacts to sonatype staging repository, it also has an optional parameter autoPublish to auto-release artifacts from staging repo to prod without manual intervention. You can use PublishToMavenLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
publishToNuget.groovy A library to build, sign and publish dotnet artifacts to Nuget Gallery. Please check if the default docker file contains the required dotnet sdk. You can use PublishToNugetLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
publishToArtifactsProdBucket.groovy This library signs and uploads the artifacts to production S3 bucket which points to artifacts.opensearch.org. Please make sure the role that you use to upload exists and has the right permission. For artifacts of different types like macos, linux and windows, call this lib for each artifact with different signing parameters. You can use PublishToArtifactsProdBucketLibTester to add tests in your repository. See how to use the lib in your jenkinsFile.
buildMessage.groovy This library that can parse the jenkins build log based on the user defined input query string.
closeBuildSuccessGithubIssue.groovy This library that identifies the successfully built components and closes the created [AUTOCUT] issues.
createGithubIssue.groovy This library that identifies the failed components and creates the [AUTOCUT] issues.

Contributing

See developer guide and how to contribute to this project.

Getting Help

If you find a bug, or have a feature request, please don't hesitate to open an issue in this repository.

For more information, see project website and documentation. If you need help and are unsure where to open an issue, try forums.

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

Security

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public GitHub issue.

License

This project is licensed under the Apache v2.0 License.

Copyright

Copyright OpenSearch Contributors. See NOTICE for details.