Skip to content

Commit 8d034b7

Browse files
authoredJan 24, 2025
Update release wiki (#5259)
Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>
1 parent 30d39eb commit 8d034b7

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed
 

‎docs/Releasing-the-Distribution.md

+44-25
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ These are the issues created by automation with the distribution build and integ
7474

7575

7676
#### Release Workflows
77+
See the [source code](https://github.com/opensearch-project/opensearch-build/tree/main/jenkins/release-workflows) for most of the release workflows. Others can be found in [jenkins](https://github.com/opensearch-project/opensearch-build/tree/main/jenkins) directory. All workflows are sourced from `main` branch.
7778

7879
| Workflow | Description |
7980
| ---------------------------------------------------------------------------------------- | ------------------- |
@@ -135,11 +136,13 @@ The component release issues are auto created by the workflows part of the build
135136

136137
<details><summary>Manual release issue creation process</summary>
137138
<p>
139+
138140
Inside the template [component_release_template.md](https://github.com/opensearch-project/opensearch-build/blob/main/.github/ISSUE_TEMPLATE/component_release_template.md), replace the fields `RELEASE_VERSION`, `RELEASE_BRANCH_X`, `RELEASE_BRANCH` and `RELEASE_ISSUE` to desired release values before creating the release issues across the component/plugin repos. Once the fields are replaced, use the `meta` and `gh` cli to create the issues. Find the list of components/plugins from the [opensearch-plugins](https://github.com/opensearch-project/opensearch-plugins) repo (for [OpenSearch](https://github.com/opensearch-project/opensearch-plugins/tree/main/plugins), for [OpenSearch Dashboards](https://github.com/opensearch-project/opensearch-plugins/tree/main/dashboards-plugins)) and use the `meta` cli to create the release issues. For more details check the [create-an-issue-in-all-plugin-repos](https://github.com/opensearch-project/opensearch-plugins/blob/main/META.md#create-an-issue-in-all-plugin-repos) section.
139141

140142
```
141143
meta exec "gh issue create --label v2.8.0 --title 'Release version 2.8.0' --body-file /tmp/opensearch-build/.github/ISSUE_TEMPLATE/component_release_template.md"
142144
```
145+
143146
</p>
144147
</details>
145148

@@ -281,7 +284,7 @@ Following is the generated build number after triggering the [Distribution Build
281284
<details><summary>What if?</summary>
282285
<p>
283286

284-
- What if I forgot to choose `build_docker_with_build_number_tag` while building RC?
287+
- What if I forgot to choose `build_docker_with_build_number_tag` while building RC? </br>
285288
If the docker image was build regulary overriding the default `major.minor.patch` tag, you can simply copy the image to `major.minor.patch.build_id` tag using [docker-copy](https://build.ci.opensearch.org/job/docker-copy/) workflow.
286289
| Docker Freeze | copy |
287290
|----------|----------|
@@ -309,10 +312,10 @@ Failing integration tests create GitHub issues with all the details included in
309312
<details><summary>What if?</summary>
310313
<p>
311314

312-
- What if I missed one of the integration test parameter while triggering RC?
315+
- What if I missed one of the integration test parameter while triggering RC? </br>
313316
Integration test workflows can be triggered and run independently irrespective of build workflows. Feel free to trigger the respective workflow. The results of the integration tests for per component can be viewed in pipeline view as well as on the [metrics portal](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-90d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)).
314317

315-
- What is I want to re-run the integration test? Is there a limit to how many times the workflow can be triggered?
318+
- What is I want to re-run the integration test? Is there a limit to how many times the workflow can be triggered? </br>
316319
There is no limit as such. The tests for the given component(s) can be run any number of times. However, please be mindful of the resources consumption used to run these tests. For flaky integration test, please create an issue in the respective component repository for it to be addressed.
317320

318321
</p>
@@ -360,12 +363,12 @@ Verify all issues labeled with this release have been resolved. Coordinate with
360363

361364
#### Go or No-Go
362365

363-
Get the Go / No-Go votes from project management committee (PMC) before staging the release artifacts for production publishing process,
364-
366+
Get the Go / No-Go votes from project management committee (PMC) before publishing the release artifacts.
365367

366368
#### Release Notes
367369

368-
Coordinate with the plugin teams and create a consolidates release notes. Sample [PR](https://github.com/opensearch-project/opensearch-build/pull/3532). Release manager can check if a plugin team has created a release notes or not using the [release notes tracker tool](https://github.com/opensearch-project/opensearch-build/tree/main/src/release_notes_workflow). Sample [run](https://build.ci.opensearch.org/job/release-notes-tracker/).
370+
Coordinate with the plugin teams and create consolidated release notes. This step is also automated using [release-notes-tracker workflow](https://build.ci.opensearch.org/job/release-notes-tracker). Select `compile` option from the action dropdown. Sample [PR](https://github.com/opensearch-project/opensearch-build/pull/5204) created by the workflow run. Please ensure to add `Release highlights` to the consolidated release notes by pushing commits to the same PR.
371+
Release manager can check if component team(s) has created release notes or not using the same [workflow](https://build.ci.opensearch.org/job/release-notes-tracker) with action as `check`. Release manager can choose to post the result of this check as a [comment](https://github.com/opensearch-project/opensearch-build/issues/5004#issuecomment-2438740377) on the GitHub issue.
369372

370373

371374
### Main Release
@@ -374,17 +377,18 @@ Release the artifacts to production distribution channels, update the website an
374377

375378
#### Central Release Promotion Workflow
376379

377-
The [central release promotion workflow ](https://build.ci.opensearch.org/job/central-release-promotion/) consist of multiple child workflows such as:
380+
The [central release promotion workflow ](https://build.ci.opensearch.org/job/central-release-promotion/) as the name suggest is responsible for releasing the OpenSearch and OpenSearch Dashboards artifacts to all the platforms. It consists of multiple child workflows that are run as a separate stage. See the promotion workflow run for [2.17.0 release](https://build.ci.opensearch.org/blue/organizations/jenkins/central-release-promotion/detail/central-release-promotion/13/pipeline). _Please note that this workflow should always be run with 2PR._
381+
See child workflows details below:
378382

379383
* *Promote Repos* : Publishes DEBIAN and RPM repositories.
380384

381385
| Repo | OpenSearch (Sample Runs) | OpenSearch Dashboards (Sample Runs) |
382386
| ---- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
383387
| YUM | [yum-os](https://build.ci.opensearch.org/job/distribution-promote-repos/46/) | [yum-osd](https://build.ci.opensearch.org/job/distribution-promote-repos/48/) |
384-
| APT | [apt-os](https://build.ci.opensearch.org/job/distribution-promote-repos/) | [apt-osd](https://build.ci.opensearch.org/job/distribution-promote-repos/49/) |
388+
| APT | [apt-os](https://build.ci.opensearch.org/job/distribution-promote-repos/47/) | [apt-osd](https://build.ci.opensearch.org/job/distribution-promote-repos/49/) |
385389

386390

387-
* *Promote Artifacts*: Promotes below artifacts:
391+
* *Promote Artifacts*: Promotes downloadable artifacts:
388392

389393
| Artifacts | OpenSearch (Sample Runs) | OpenSearch Dashboards (Sample Runs) |
390394
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -393,12 +397,20 @@ The [central release promotion workflow ](https://build.ci.opensearch.org/job/ce
393397
| TAR | [os-tar-arm64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/243/), [os-tar-x64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/246/) | [osd-tar-arm64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/245/), [osd-tar-x64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/244/) |
394398
| RPM | [os-rpm-arm64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/239/), [os-rpm-x64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/240/) | [osd-rpm-arm64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/241/), [osd-rpm-x64](https://build.ci.opensearch.org/job/distribution-promote-artifacts/242/) |
395399

396-
* *Maven Promotion* : Promote OpenSearch to maven central, trigger the `publish-to-maven workflow` (Ref [Release Workflows](#release-workflows)), sample [run](https://build.ci.opensearch.org/job/publish-to-maven/17/console).
400+
* *Maven Promotion* : Promotes OpenSearch to maven central. Sample [run](https://build.ci.opensearch.org/job/publish-to-maven/17/console).
401+
402+
* *Docker Promotion* : Publishes the images to dockerHub and ECR, Sample [run](https://build.ci.opensearch.org/job/docker-promotion/32/console).
397403

398-
* *Docker Promotion* : Publish the images to docker and ECR, trigger the `docker promotion workflow` (Ref [Release Workflows](#release-workflows)), sample [run](https://build.ci.opensearch.org/job/docker-promotion/32/console).
404+
* *Distribution Validation* : Uses the validation workflow (Ref [Release Workflows](#release-workflows)) to validate the published artifacts, sample [validation workflow run](https://build.ci.opensearch.org/job/distribution-validation/3/console).
399405

400-
* *Distribution Validation* : Use the validation workflow (Ref [Release Workflows](#release-workflows)) to validate the published artifacts, sample [validation workflow run](https://build.ci.opensearch.org/job/distribution-validation/3/console).
406+
<details><summary>What if?</summary>
407+
<p>
401408

409+
- What if the workflow fails? </br>
410+
If the workflow fails before Maven publication stage, it is safe to re-run the workflow (Please 2PR on this as well). Central promotion workflow is a combination of child workflows which can be run independently as well. See [source code](https://github.com/opensearch-project/opensearch-build/blob/main/jenkins/release-workflows/release-promotion.jenkinsfile)
411+
412+
</p>
413+
</details>
402414

403415
#### Collaboration with the Project Management Team
404416

@@ -410,39 +422,48 @@ Coordinate with the documentation website team to ensure the changes are in plac
410422

411423
##### Publish blog posts
412424

413-
[Sample Blog Post](https://opensearch.org/blog/opensearch-2.8.0-released/)
425+
Release blog post are added in the [project-website repo](https://github.com/opensearch-project/project-website/pull/3437). [Sample Blog Post](https://opensearch.org/blog/opensearch-2.8.0-released/)
414426

415427
##### Advertise on Social Media
416428

417429
Coordinate with the project management team to ensure the social media advertisement is completed.
418430

419431
### Release Checklist
420432

421-
Please update the checklist either in the release issue body or as a new comment to the release issue. By following and updating the release checklist, we can ensure the success of the release. Sample release checklist for [2.9.0 release](https://github.com/opensearch-project/opensearch-build/issues/3616#issuecomment-1646312725).
433+
Please update the checklist by updating the release issue body. By following and updating the release checklist, we can ensure the success of the release without any misses.
422434

423435
## Post Release
424436

425437
Once the release is completed following are the activities that needs to be completed by the release manager:
426438

427439
### Release Tags
428440

429-
Create release tags for each OpenSearch and Dashboard components. Sample [OpenSearch](https://build.ci.opensearch.org/job/distribution-release-tag-creation/78/), [OpenSearch Dashboards](https://build.ci.opensearch.org/job/distribution-release-tag-creation/77/) workflow runs.
441+
Create release tags for all OpenSearch and OpenSearch Dashboard components by running [distribution-release-tag-creation](https://build.ci.opensearch.org/job/distribution-release-tag-creation/) workflow with the right version.
430442

431443
### Input Manifest Update
432444

433-
Replace `refs` in input manifest with tags. The `refs` can be identified from the bundle or build manifest, sample [PR](https://github.com/opensearch-project/opensearch-build/pull/3534) that updates the input manifest.
445+
As a post action of the above [distribution-release-tag-creation](https://build.ci.opensearch.org/job/distribution-release-tag-creation/) workflow, [release-manifest-commit-lock](https://build.ci.opensearch.org/job/release-manifest-commit-lock/) is triggered that creates an automated [Pull Request](https://github.com/opensearch-project/opensearch-build/pull/5206) to update `refs` in input manifest with tags.
446+
447+
<details><summary>What if?</summary>
448+
<p>
449+
450+
- What if the subsequent workflow (release-manifest-commit-lock) fails and pull request is not created? </br>
451+
If the release tags are created but subsequent or post action workflow fails, please debug and fix the issue if possible. The [release-manifest-commit-lock](https://build.ci.opensearch.org/job/release-manifest-commit-lock/) can also be run independently with MANIFEST_LOCK_ACTION set to `UPDATE_TO_TAGS`. If the workflow is unable to create PR due to other issues, please create the pull request manually.
452+
453+
</p>
454+
</details>
434455

435456
### OpenSearch Build Release notes
436457

437-
Generate distribution release notes for opensearch-build repository, sample [1.3.10](https://github.com/opensearch-project/opensearch-build/releases/tag/1.3.10) release details.
458+
Push or create a tag in [opensearch-build](https://github.com/opensearch-project/opensearch-build) repo with the release version. This will trigger the [release workflow](https://github.com/opensearch-project/opensearch-build/blob/main/.github/workflows/publish-release.yml) that creates a release on GitHub along with release notes for opensearch-build.
438459

439460
### Retrospective Issue
440461

441-
Create an issue for a retrospective, solicit feedback, and publish a summary. Sample [retro issue](https://github.com/opensearch-project/opensearch-build/issues/3535).
462+
After each release, [releases.yml](https://github.com/opensearch-project/opensearch-build/blob/main/.github/workflows/releases.yml) automatically creates a retrospective issue for feedback collection. The Release Manager organizes a review meeting when sufficient discussion points accumulate. The process concludes with documented action items and owners, as demonstrated in the 2.17.0 release [retrospective](https://github.com/opensearch-project/opensearch-build/issues/4909) and [retro board](https://github.com/orgs/opensearch-project/projects/205/views/16?filterQuery=category%3A%22v2.17.0+Retro%22+).
442463

443464
### Helm and Ansible Playbook release
444465

445-
Update and release the [Helm chart](https://github.com/opensearch-project/helm-charts) and [ansible playbook](https://github.com/opensearch-project/ansible-playbook) with the new OpenSearch and Dashboard version. Sample helm chart [PR](https://github.com/opensearch-project/helm-charts/pull/431/files) and ansible [PR](https://github.com/opensearch-project/ansible-playbook/pull/131).
466+
Update and release the [Helm chart](https://github.com/opensearch-project/helm-charts) and [ansible playbook](https://github.com/opensearch-project/ansible-playbook) with the new OpenSearch and OpenSearch Dashboards version. Sample helm chart [PR](https://github.com/opensearch-project/helm-charts/pull/431/files) and ansible [PR](https://github.com/opensearch-project/ansible-playbook/pull/131).
446467

447468
### Upcoming Release Preparation
448469

@@ -464,10 +485,8 @@ Kindly review the following information provided below regarding the release dat
464485
Release Branch and Version Increment: <REPLACE_RELEASE-minus-14-days>
465486
Feature freeze: <REPLACE_RELEASE-minus-12-days>
466487
Code Complete: <REPLACE_RELEASE-minus-10-days>
467-
RC creation and : <REPLACE_RELEASE-minus-6-days>
468-
Pre Release: <REPLACE_RELEASE-minus-1-days>
488+
First Release Candidate creation: <REPLACE_RELEASE-minus-6-days>
469489
Release date: <RELEASE_DATE>
470-
Post Release: <RELEASE_DATE>
471490
```
472491

473492
### Release Readiness
@@ -483,14 +502,14 @@ OpenSearch Dashboards: https://github.com/pulls?q=is%3Aopen+is%3Apr+org%3Aopense
483502

484503
### Release Candidate Announcement
485504

486-
Refer the [sample rc announcement](https://github.com/opensearch-project/opensearch-build/issues/3331#issuecomment-1549876307) from past `1.3.10` release.
505+
Refer the GitHub issue comment for [Release Candidate announcement](https://github.com/opensearch-project/opensearch-build/issues/3331#issuecomment-1549876307) from past `1.3.10` release.
487506

488507
### Release Complete
489508

490509
```
491-
OpenSearch 2.8.0 version has been released to public :tada:!
510+
OpenSearch <RELEASE_VERSION> version has been released to public :tada:!
492511
493-
Thanks everyone for the help to bring <RELEASE_VERSION> release out.
512+
Thanks everyone for the help to release OpenSearch and OpenSearch Dashboards <RELEASE_VERSION>.
494513
Component repo owners please create a github release based on the tags of <RELEASE_VERSION.0>.
495514
Presenting the retrospective <RELEASE_RETRO_ISSUE_LINK> for the release. Please feel free to provide your valuable feedback for further improvements in the upcoming release.
496515
```

0 commit comments

Comments
 (0)