Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Central workflow to execute pre-release promotion jobs. #4136

Closed
prudhvigodithi opened this issue Oct 17, 2023 · 4 comments
Closed

Central workflow to execute pre-release promotion jobs. #4136

prudhvigodithi opened this issue Oct 17, 2023 · 4 comments
Assignees
Labels
enhancement New Enhancement good first issue Good for newcomers

Comments

@prudhvigodithi
Copy link
Collaborator

prudhvigodithi commented Oct 17, 2023

Is your feature request related to a problem? Please describe

During a release as a pre-release activity we need to Promote Repos and Promote Artifacts and execute multiple jobs manually that needs the RC build numbers and manifests as input.

Example for Release 2.11.0 following are the jobs executed manually.

Promote Repos OS and OSD

https://build.ci.opensearch.org/job/distribution-promote-repos/74/console
https://build.ci.opensearch.org/job/distribution-promote-repos/75/console
https://build.ci.opensearch.org/job/distribution-promote-repos/76/
https://build.ci.opensearch.org/job/distribution-promote-repos/77/

Windows OS and OSD

https://build.ci.opensearch.org/job/distribution-promote-artifacts/339/console
https://build.ci.opensearch.org/job/distribution-promote-artifacts/337/

Linux OS and OSD deb:

https://build.ci.opensearch.org/job/distribution-promote-artifacts/340/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/341/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/342
https://build.ci.opensearch.org/job/distribution-promote-artifacts/343/

Linux OS and OSD Rpm:

https://build.ci.opensearch.org/job/distribution-promote-artifacts/344/console
https://build.ci.opensearch.org/job/distribution-promote-artifacts/344/console
https://build.ci.opensearch.org/job/distribution-promote-artifacts/346/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/346/console

Linux OS and OSD Tar

https://build.ci.opensearch.org/job/distribution-promote-artifacts/349/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/350/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/352/
https://build.ci.opensearch.org/job/distribution-promote-artifacts/353/

Describe the solution you'd like

Come up with central workflow that triggers all the Promote Repos and Promote Artifacts jobs. This central workflow should track all the job status and notify if one of the jobs fails as part of the promotion. The central workflow should synchronously wait until all the promote jobs are completed.

Describe alternatives you've considered

No response

Additional context

No response

@prudhvigodithi prudhvigodithi added enhancement New Enhancement untriaged Issues that have not yet been triaged labels Oct 17, 2023
@peterzhuamazon peterzhuamazon added good first issue Good for newcomers and removed untriaged Issues that have not yet been triaged labels Oct 24, 2023
@hitenshKharva
Copy link
Contributor

I can work on this issue.

@gaiksaya
Copy link
Member

gaiksaya commented Nov 8, 2023

Adding one of the approach we discussed offline:

A release candidate is considered ready for release when all the exit criteria is met. Once we get a GO from everyone, a release-candidate.yml similar to below can be committed into manifests/version folder fixing the release candidate number.

---
opensearch: 1384
opensearch-dashboards: 1099

This file should be reviewed, approved and then merged. Once merged, the centralized workflow say release.jenkinsFile will take this an input, parse for RC number and subsequently pass on to all child workflows. Some workflows are dependent on each other or need to run in certain order, that should be taken care by the centralized workflow. Most of them can run in parallel.

I believe this process can eventually be linked to a tag making a one click release process.

Let me know what you think @dblock @bbarani

@prudhvigodithi
Copy link
Collaborator Author

Closing this issue as this enhancement is merged in PR #4280, will re-open if required to make any changes or found any bugs.
Thank you

@prudhvigodithi
Copy link
Collaborator Author

Created a jenkins pipeline https://build.ci.opensearch.org/job/distribution-promotion/, that can be used to trigger the pre-release promotion activities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New Enhancement good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants