Giter Site home page Giter Site logo

opensearch-build-libraries's Introduction

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 [email protected] 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.

opensearch-build-libraries's People

Contributors

peterzhuamazon avatar dblock avatar gaiksaya avatar zelinh avatar peternied avatar tianleh avatar kavilla avatar prudhvigodithi avatar sreekarjami avatar mch2 avatar github-actions[bot] avatar abhinavgupta16 avatar owaiskazi19 avatar rishabh6788 avatar camerski avatar ohltyler avatar jmazanec15 avatar joshuali925 avatar downsrob avatar qreshi avatar setiah avatar cliu123 avatar kotwanikunal avatar saratvemulapalli avatar reta avatar mend-for-github-com[bot] avatar ankitkala avatar junqiu-lei avatar amitgalitz avatar awshurneyt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.