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

Automate locking of commits during release #4561

Closed
gaiksaya opened this issue Mar 22, 2024 · 5 comments
Closed

Automate locking of commits during release #4561

gaiksaya opened this issue Mar 22, 2024 · 5 comments
Assignees
Labels
enhancement New Enhancement good first issue Good for newcomers

Comments

@gaiksaya
Copy link
Member

Is your feature request related to a problem? Please describe

We lock commits in the manifest files after release candidate are generated in order to avoid unintentional commits from sneaking in. Example: #4560

Describe the solution you'd like

Automate this process instead of manually copy/paste and then create a PR. Since we have disabled ci check of the manifests there are high chances of human copy/paste error.

Describe alternatives you've considered

No response

Additional context

No response

@gaiksaya gaiksaya added enhancement New Enhancement untriaged Issues that have not yet been triaged good first issue Good for newcomers labels Mar 22, 2024
@prudhvigodithi
Copy link
Collaborator

[Triage]
Hey @gaiksaya we can come up with a workflow that has the releaseVersion, releaseCandidate as inputs, now the workflow should download the build manifest and update the input release manifest. To raise a PR we need a temp branch to be created so that the bot can raise a PR from that temp branch to main. Should we go with a jenkins job or github workflow ?

Adding @bbarani @peterzhuamazon @rishabh6788

@prudhvigodithi prudhvigodithi removed the untriaged Issues that have not yet been triaged label Mar 25, 2024
@gaiksaya
Copy link
Member Author

gaiksaya commented Mar 25, 2024

GH workflow sounds good to me. Can be manually triggered with inputs. Lease resistance path I believe.

Is it possible to use the same workflow to update those commits as we want. For example:

Scenario 1:

Input: releaseVersion, releaseCandidate
Action: Updates all commits

Now RC1 is built but looks like common-utils and other bunch of repos have changed commits.

Scenario 2:

Input: releaseVersion, updateAllToRecentCommit
Action: Updates all commits to most recent after fixes went it

Scenrio 3:

Input: releaseVersion, updateAllToRecentCommit, componentName
Action: Only updates specific component commit.

Is it possible to do that or you think that can come as an enhancement?

@prudhvigodithi
Copy link
Collaborator

@gaiksaya once we have the RC number for a release, everything falls under Scenario 1, this includes if the commit has changed or not for a repo part of the manifest. If no change still keeps the same, if changed adds the new commit.

@gaiksaya
Copy link
Member Author

Not really right?

In order to generate RC2, we would first update the commit in manifest and then trigger RC to include that commit. So after first RC, the process is opposite.

@prudhvigodithi
Copy link
Collaborator

Closing this as the manifest lock automation enhancement is completed.
Related PR: #4583
Jenkins Job: https://build.ci.opensearch.org/job/release-manifest-commit-lock/

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

2 participants