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

Staging for version increment automation #674

Closed
prudhvigodithi opened this issue Jul 5, 2022 · 3 comments
Closed

Staging for version increment automation #674

prudhvigodithi opened this issue Jul 5, 2022 · 3 comments
Labels

Comments

@prudhvigodithi
Copy link
Contributor

Description

Gradle project: Staging to add gradle tasks (setVersion and versionIncrement) that support version increment automation for supported versions and add/update gradle.properties file to the project.

Related META issue

Part of: opensearch-project/opensearch-build#1375
From solution: opensearch-project/opensearch-build#1375 (comment)

Current Behavior

Version Increment is a process that needs to be done for all plugin repos during and after a specific release.
This is time consuming and includes lot of manual human effort (that can lead to multiple errors) to go through each repo, check for previous merged PR and then create a version increment PR, allow plugin team to review, follow-up, update the PR with suggestions and then finally get merged for CI to run.

Expected Behavior

After every release expect to raise an [AUTO] PR that increments the version.
Sample automation version increment PR's: job-scheduler, common-utils, anomaly-detection, k-NN

Proposed solution

Automate this version increment process across all plugin components, that increment’s the version, modifies the required files and raise a PR that awaits for plugin team approval, this way an engineer need not spend hours of time to increment the version for all plugin components.

Implementation Changes:

Add gradle versionIncrement and setVersion tasks to the project.

setVersion : This task will update the gradle property opensearch.version and updates the value in gradle.properties file.

gradle.properties : Contains gradle project properties that can be used by project during runtime, for version increment uses opensearch.version.

versionIncrement : This task is configurable and depends on the plugin requirement to modify any files where version is present and that needs to incremented, this task uses ant.replaceregexp to parse the required files that are added in include() section of the task.

Sample Implementation PR's: job-scheduler, common-utils, anomaly-detection, k-NN
More examples: opensearch-project/opensearch-build#1375 (comment)

@prudhvigodithi
Copy link
Contributor Author

prudhvigodithi commented Aug 16, 2022

Hey @joshuali925 and @penghuo for the version increment 2.2 PR #729, I see there are more files added than before what I have in the PR #684 , please make sure you add the new files to updateVersion task, to ensure the version is incremented via automation for the other files as well.
Thank you
@bbarani @anirudha

@joshuali925
Copy link
Member

@prudhvigodithi thanks for checking. in #729 there are some files that's not required to bump (unused workflows, JDBC and ODBC drivers where versions are not coupled with OpenSearch). #684 already contains all the changes needed for a OpenSearch release, so it is good for now.

@prudhvigodithi
Copy link
Contributor Author

Closing this issue as I see the task updateVersion was added to main, 2.2, 2.x and 1.3 branches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants