Skip to content

Commit 7690db1

Browse files
authored
Categorize the on-boarding document to plugins and standalone components (#4321)
Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>
1 parent 810f742 commit 7690db1

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

.github/ISSUE_TEMPLATE/plugin_onboarding_template.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
name: On-board plugins
3-
description: On-board plugins
2+
name: On-board plugins to the distribution
3+
description: On-board plugins to the distribution
44
title: '[On-boarding]: '
55
labels: [on-boarding, untriaged]
66
body:
@@ -38,7 +38,7 @@ body:
3838
required: true
3939
- type: textarea
4040
attributes:
41-
description: 'Did you go through the [on-boarding document](https://github.com/opensearch-project/opensearch-build/blob/main/ONBOARDING.md)'
41+
description: 'Did you go through the [on-boarding document](https://github.com/opensearch-project/opensearch-build/blob/main/ONBOARDING.md#plugin-onboarding)'
4242
label: 'Did you read the on-boarding document'
4343
id: document
4444
validations:

.github/ISSUE_TEMPLATE/standalone_releases_template.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ body:
1010
Thanks for taking the time to submit release request!
1111
- type: textarea
1212
attributes:
13-
description: 'Did you go through the [on-boarding document](https://github.com/opensearch-project/opensearch-build/blob/main/ONBOARDING.md#onboarding-to-universal--1-click-release-process)'
13+
description: 'Did you go through the [on-boarding document](https://github.com/opensearch-project/opensearch-build/blob/main/ONBOARDING.md#standalone-component-onboarding)'
1414
label: 'Did you read the on-boarding document'
1515
id: document
1616
validations:

ONBOARDING.md

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11

2-
- [Component Onboarding](#component-onboarding)
2+
- [Plugin Onboarding](#plugin-onboarding)
33
- [Onboard to OpenSearch Meta](#onboard-to-opensearch-meta)
44
- [opensearch-plugins](#opensearch-plugins)
55
- [Onboard to Build Workflow](#onboard-to-build-workflow)
6-
- [Onboard to `test-workflow`](#onboard-to-test-workflow)
7-
- [Onboarding to universal/1-click release process](#onboarding-to-universal--1-click-release-process)
8-
- [Onboard to PyPi GitHub Action release](#onboard-to-pypi-github-action-release)
6+
- [Onboard to Test Workflow](#onboard-to-test-workflow)
7+
- [Standalone component Onboarding](#standalone-component-onboarding)
8+
- [Onboarding to universal/1-click release process](#onboarding-to-universal--1-click-release-process)
9+
- [Onboard to PyPi GitHub Action release](#onboard-to-pypi-github-action-release)
910

10-
## Component Onboarding
11+
## Plugin Onboarding
1112

1213
This document describes steps to onboard a new plugin to release workflow for continuous integration and testing.
1314

@@ -22,7 +23,7 @@ Add the new plugin to the [opensearch-plugins meta](https://github.com/opensearc
2223

2324
1. Update a [manifest](/manifests) for a particular release to include your plugin. For example to be included in the 1.1.0 release, you would update [opensearch-1.1.0.yml](https://github.com/opensearch-project/opensearch-build/blob/opensearch-1.1.0/manifests/1.1.0/opensearch-1.1.0.yml). We require your plugin name, repository URL, and git ref that should be used. For unreleased versions this should be a branch in your repository. Once a release is cut, these refs will be updated to build from a tag or specific commit hash.
2425

25-
2. Create a `scripts/build.sh` if you have specific requirements that are not covered by the [default build.sh script](/scripts/default/opensearch/build.sh) and commit it to your repository.
26+
2. Create a `scripts/build.sh` if you have specific requirements that are not covered by the default build.sh script. See default build script for [OpenSearch plugins](./scripts/default/opensearch/build.sh) and [OpenSearch-Dashboard plugins](./scripts/default/opensearch-dashboards/build.sh) and commit it to your repository.
2627

2728
3. Ensure your `build.sh` reads and passes along both `-Dbuild.snapshot=` and `-Dopensearch.version=` flags. Snapshot builds should produce a -SNAPSHOT tagged artifact for example `opensearch-plugin-1.1.0.0-SNAPSHOT.zip` where a release build of the same component would produce `opensearch-plugin-1.1.0.0.zip`.
2829

@@ -32,7 +33,7 @@ Add the new plugin to the [opensearch-plugins meta](https://github.com/opensearc
3233

3334
6. Publish a PR to this repo including the updated manifest and the names of the artifacts being added.
3435

35-
### Onboard to `test-workflow`
36+
### Onboard to Test Workflow
3637

3738
1. Update the test configuration file (use 1.3.0 as an example), [opensearch-1.3.0-test.yml](https://github.com/opensearch-project/opensearch-build/blob/opensearch-1.3.0/manifests/1.3.0/opensearch-1.3.0-test.yml), for a particular release, to include your plugin. This test configuration defines full suite of tests - `integ`, `bwc`, that can be run on the plugin.
3839

@@ -47,7 +48,11 @@ Add the new plugin to the [opensearch-plugins meta](https://github.com/opensearc
4748
1. It supports two test configs - `with-security` and `without-security`, which runs test with security plugin enabled and disabled respectively. Choose one or both depending on what your plugin integration tests support.
4849

4950

50-
## Onboarding to universal / 1-click release process:
51+
## Standalone Component Onboarding
52+
53+
Standalone components are self-contained products that are published across diverse platforms, demanding their own release cycle that may or may not be dependent on OpenSearch or OpenSearch-Dashboard releases. Few examples of standalone components are OpenSearch clients (Java, JavaScript, Ruby, Go, Python, and Rust), data ingestion tools such as Data Prepper, and integration tools such as Logstash. See the process below to on-board to 1-click release process for standalone components. _Please note these components are not a part of the OpenSearch or OpenSearch-Dashboards distribution artifact._
54+
55+
### Onboarding to universal / 1-click release process:
5156

5257
This document describes steps to onboard a new component to universal or 1-click release process.
5358

@@ -82,7 +87,7 @@ See https://github.com/opensearch-project/opensearch-build/issues/1234 for detai
8287
For example, this [PublishToNpm test](https://github.com/opensearch-project/opensearch-build-libraries/blob/main/tests/jenkins/TestPublishToNpm.groovy) uses [PublishToNpmLibTester](https://github.com/opensearch-project/opensearch-build-libraries/blob/main/tests/jenkins/lib-testers/PublishToNpmLibTester.groovy) with expected parameter that can be unique to your workflow. The assertions makes sure that calls to npm registry is made which is mandatory to release an artifact.
8388

8489

85-
## Onboard to PyPi GitHub Action release
90+
### Onboard to PyPi GitHub Action release
8691

8792
Since PyPi has [announced](https://blog.pypi.org/posts/2023-05-23-removing-pgp/) the removal of the PGP signature, it is no longer necessary to use the Jenkins environment for releasing artifacts on PyPi. The main motive behind using Jenkins as the release environment was the ease of use of OpenSearch signing system.
8893

0 commit comments

Comments
 (0)