-
Notifications
You must be signed in to change notification settings - Fork 289
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
Optimize the manifest workflow to reduce the run-time #3068
Comments
Adding @dblock and @opensearch-project/engineering-effectiveness. |
Using version.properties directly might cause issue later if there is more than one |
Should there be only one OpenSearch version in version.properties ? @peterzhuamazon |
Maybe we can turn the workflow into a matrix where each runs in parallel? Here's how to generate a matrix at runtime: https://code.dblock.org/2021/09/03/generating-task-matrix-by-looping-over-repo-files-with-github-actions.html |
One more data point, adding PR manually #3164 |
This issue seems to be recurring for every upcoming release version and I would like to close it out as soon as possible. @prudhvigodithi @zelinh Can we move ahead with @dblock suggestion? |
Another dp here #3192. |
As per my understanding we are running Also, @peterzhuamazon since @dblock Can you also please add some more details regarding the solution you proposed with respect to running in parallel? |
Hey @rishabh6788 @dblock just to add running in parallel with the solution proposed (a matrix strategy for GitHub runners) might not be a right solution here, it would work for instances when a loop of isolated process has to be called. For manifest workflow its all single process Here Thank you |
Until the optimization takes place, we moved the workflow to jenkins here: https://build.ci.opensearch.org/job/manifest-update/ |
Closing this issue as we have moved the workflow to run on higher specs machine that can handle gradle properties check which seems more appropriate than parsing the version.properties file. Please re-open if you think proposed solution above is more appropriate. Thanks! |
Is your feature request related to a problem? Please describe
Current manifest workflow which is being called by the GH action versions.yml takes lot of time to run and randomly fails with
Error: The operation was canceled
. The cause of the issue is executing the methods gradle_cmd which calls./gradlew properties
and then outputs theversion
, based on this version the flow executes to raise a PR as follows #3008With
./gradlew properties
running on the OpenSearch repo taking lot of time the GH runner breaks withError: The operation was canceled
where as this works on local without any error.Describe the solution you'd like
To get the version instead of running
./gradlew properties
which starts Gradle Daemon runs the taskTask :properties
, its easy to query the filebuildSrc/version.properties
from the OpenSearch repo to get the version, something likeOPENSEARCH_VERSION=$(cat buildSrc/version.properties | grep opensearch | cut -d= -f2 | grep -oE '[0-9.]+')
which is already being used in version increment workflow, this should significantly reduce the time in the manifest workflow execution.Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: