-
Notifications
You must be signed in to change notification settings - Fork 4.5k
[BEAM-6527] Use Gradle to parallel Python tox tests #8067
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
Conversation
|
Run Gradle Publish |
|
This PR is ready for review.
|
f9cb03d to
a5a3e4b
Compare
|
+cc: @kkucharc @ajamato @tvalentyn |
|
Run Gradle Publish |
1 similar comment
|
Run Gradle Publish |
|
LGTM, not sure why gradle publish failed. It would be easier to review if you separated new changes and previously reviewed commit into separate commit, but looks like filepaths are the only things that changed. |
|
Run Gradle Publish |
As @markflyhigh already stated, the publish task is killed by Jenkins after 140 min (2h20min). Not sure what did cause the build time increase here. Probably has nothing to do with this commit, but was hidden before as build was already failing on earlier tasks. So we probably need to increase that timeout, at least temporarily, until we are able to improve test performance. |
|
Is the test error a flake? Can we rerun it? |
|
I do not believe its a flake. The whole build just takes more than 140mins on Jenkins right now. This might be caused by some added tests. The last successful [1] publish on Feb, 24 took 132mins already, so it seems we need to increase the timeout here. @markflyhigh Could you increase this timeout with this PR, as - at least to my understanding - the build fails on master till we get this PR merged I have no idea how much is required, but I d go for 3 (or even 4?) hours. [1] https://builds.apache.org/job/beam_Release_NightlySnapshot/344/ |
|
Yes, it doesn't seem to be a flake. I'll increase the timeout to 200mins in this PR to see if the job can pass successfully. I feel 3 - 4 hours is acceptable currently since it only runs once a day. |
|
Run Gradle Publish |
|
Run Seed Job |
|
Run Gradle Publish |
|
Run Python PreCommit |
2353719 to
9c3c82a
Compare
|
Run Seed Job |
|
Run Gradle Publish |
|
Run Java PreCommit |
|
"./gradlew publish" failed since python36 and 37 are missing on Beam12. This is an infra issue and I started a discussion on dev@. Gradle scan shows that python load test (failed previously and led to rollback) was built successfully. PTAL @aaltay @tvalentyn @adude3141 |
|
Run Gradle Publish |
1 similar comment
|
Run Gradle Publish |
|
This time nightly snapshot failed (job link) on IMHO, this PR shouldn't be blocked on nightly snapshot job if it consistently failed on irrelevant reasons and consider existing build time of Python Precommit (>1 hour). |
|
Run Python Load Tests Smoke |
|
LGTM |
|
Run Python PostCommit |
|
I think current tests are good enough for the coverage:
Can we merge it? @aaltay @adude3141 |
|
Thanks, @markflyhigh, I have to admit, you put lot of effort into testing this. And it is most likely, that no other will pass the publish. But as it improves the overall performance, lets merge and fix outstanding issues separately. Again, thanks a lot for the effort you put into this. |
|
@markflyhigh Is there any option to quieten that? It is difficult to follow and I prefer to add that '--info' resp '--debug' flags if required. |
|
Do you want to quite/control logs that are generated from python commands? According to Gradle doc: I think you may need to do it inside python and then integrate with Gradle if possible. |
|
Comparing e.g. java precommit build [1] with python [2] I was under the impression, that the log output heavily increased with this commit. Just wondering, if you got the same feeling. From my point of view, most output is not helpful, e.g. all this 'creating...', 'copying', 'adding' just clutters console. You are right regarding gradles default behaviour. But we might consider adapting that to something more sensible on task level? Either by quietening the tools delegated to - which might have some drawbacks - or we could add a Did not look deeper into that, though. And of course, it has a lot to do with daily dev - which I am not doing on python currently -, whether that output should be seen or could be considered clutter (which might be enabled if required by adding '-I' or '-q' param. [1] https://builds.apache.org/job/beam_PreCommit_Java_Phrase/827/consoleFull |
This PR is to roll-forward #7675 with fixes suggested by @kkucharc:
sdks/python/apache_beaminBeamModulePlugin.groovyline 1619.sdisttask failed to collect singleFile due to existence ofsrcsunder build directory. Fix atBeamModulePlugin.groovyline 1642. Error looks like:+R: @aaltay
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
R: @username).[BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replaceBEAM-XXXwith the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.Post-Commit Tests Status (on master branch)
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.