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
Copy file name to clipboardexpand all lines: docs/Releasing-the-Distribution.md
+44-25
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,7 @@ These are the issues created by automation with the distribution build and integ
74
74
75
75
76
76
#### 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.
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.
139
141
140
142
```
141
143
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"
142
144
```
145
+
143
146
</p>
144
147
</details>
145
148
@@ -281,7 +284,7 @@ Following is the generated build number after triggering the [Distribution Build
281
284
<details><summary>What if?</summary>
282
285
<p>
283
286
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>
285
288
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.
286
289
| Docker Freeze | copy |
287
290
|----------|----------|
@@ -309,10 +312,10 @@ Failing integration tests create GitHub issues with all the details included in
309
312
<details><summary>What if?</summary>
310
313
<p>
311
314
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>
313
316
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)).
314
317
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>
316
319
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.
317
320
318
321
</p>
@@ -360,12 +363,12 @@ Verify all issues labeled with this release have been resolved. Coordinate with
360
363
361
364
#### Go or No-Go
362
365
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.
365
367
366
368
#### Release Notes
367
369
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.
369
372
370
373
371
374
### Main Release
@@ -374,17 +377,18 @@ Release the artifacts to production distribution channels, update the website an
374
377
375
378
#### Central Release Promotion Workflow
376
379
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:
378
382
379
383
**Promote Repos* : Publishes DEBIAN and RPM repositories.
@@ -393,12 +397,20 @@ The [central release promotion workflow ](https://build.ci.opensearch.org/job/ce
393
397
| 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/)|
**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).
397
403
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).
399
405
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>
401
408
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>
402
414
403
415
#### Collaboration with the Project Management Team
404
416
@@ -410,39 +422,48 @@ Coordinate with the documentation website team to ensure the changes are in plac
410
422
411
423
##### Publish blog posts
412
424
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/)
414
426
415
427
##### Advertise on Social Media
416
428
417
429
Coordinate with the project management team to ensure the social media advertisement is completed.
418
430
419
431
### Release Checklist
420
432
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.
422
434
423
435
## Post Release
424
436
425
437
Once the release is completed following are the activities that needs to be completed by the release manager:
426
438
427
439
### Release Tags
428
440
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.
430
442
431
443
### Input Manifest Update
432
444
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>
434
455
435
456
### OpenSearch Build Release notes
436
457
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.
438
459
439
460
### Retrospective Issue
440
461
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+).
442
463
443
464
### Helm and Ansible Playbook release
444
465
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).
446
467
447
468
### Upcoming Release Preparation
448
469
@@ -464,10 +485,8 @@ Kindly review the following information provided below regarding the release dat
464
485
Release Branch and Version Increment: <REPLACE_RELEASE-minus-14-days>
465
486
Feature freeze: <REPLACE_RELEASE-minus-12-days>
466
487
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>
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.
487
506
488
507
### Release Complete
489
508
490
509
```
491
-
OpenSearch 2.8.0 version has been released to public :tada:!
510
+
OpenSearch <RELEASE_VERSION> version has been released to public :tada:!
492
511
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>.
494
513
Component repo owners please create a github release based on the tags of <RELEASE_VERSION.0>.
495
514
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.
0 commit comments