-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[BEAM-8979] reintroduce mypy-protobuf stub generation #10734
Conversation
retest this please |
Run Python 3.7 Load Tests ParDo Dataflow Batch |
Run BigQueryIO Write Performance Test Python Batch |
run python 3.7 postcommit |
Still seeing errors:
https://builds.apache.org/job/beam_BiqQueryIO_Write_Performance_Test_Python_Batch_PR/11/console |
@udim thanks for the heads up. My guess is that the mypy-protoc executable is not getting on PATH. The tests did not show up in the PRs until you requested them, but I can see them here now. Can I run the test phrases myself now? |
run python 3.7 postcommit |
@udim I can't trigger the jenkins jobs. Also, it's unclear to me how to run this job locally via gradle. Can you give me some advice? Also, do you have any idea what's different about the way these two jobs are run that would cause their virtualenv's bin dir to not be on the search PATH? |
9413df1
to
d0fb02b
Compare
I think the phrases are limited to Apache committers sadly. Not sure if this requirement will ever go away. |
I ran:
Scan of subsequent run: It fails at the sdist task. |
Understood. I'm going to try to apply the necessary pressure at work to get CLA approved this week.
I tested this locally. I removed Here's the output that I get (after fixing the logging in the latest commit):
What I noticed when looking at the full log from the gradle scan is this:
That's |
I did a
|
Then what does |
The Jenkins logs also show that setupVirtualenv successful installed |
Run BigQueryIO Write Performance Test Python Batch |
retest this please |
Run Python 3.7 Load Tests ParDo Dataflow Batch |
hmmm... so my new code found the executable, but protoc still complained. I wonder if it's not executable for some reason. I can't think of any explanation for why that would happen.
Are the normal python tox tests passing? |
Okay so I ssh-ed into the Jenkins node and tried running the command: -su: /home/jenkins/jenkins-slave/workspace/beam_BiqQueryIO_Write_Performance_Test_Python_Batch_PR/src/build/gradleenv/1922375555/bin/protoc-gen-mypy: /home/jenkins/jenkins-slave/workspace/beam_BiqQueryIO_Write_Performance_Test_: bad interpreter: No such file or directory Basically, the file has a shebang line that's getting truncated. FYI the first line is this:
|
Unless you have another solution @chadrik, I believe we'll need to shorten Jenkins job names. I think a limit of 20 characters should work. |
Nice find. Well now we know what the two failing jobs have in common: really long names! Shorter names would be a good change regardless. Those two job names feel a bit like a word salad right now. How about these:
I don't actually know what these do so I just picked out the most important sounding bits, and tried to harmonize them with our prevailing conventions. Feel free to have a go at it. It would also be good to add a comment about this issue to the jenkins groovy code that generates these, or even add an assertion. Do you want to take this issue or would you like me to? |
I did a lot of digging into distutils, and it seems that there is already a solution for this problem. Some packages have it, for example:
I'm not sure what's up with mypy-protobuf, but perhaps it's using another installation method? |
As for shortened test names, please go ahead unless you think fixing mypy-protobuf would be faster. The names should all start with |
Perhaps if we put in a wrapper script for mypy-protobuf... |
retest this please |
Run BigQueryIO Write Performance Test Python Batch |
ok, almost there. there was a mistake in my setup.py. fixed it. (sorry to drag you along on this. I'm going to get the committers thing sorted out this week, hopefully today). |
Run Python 3.7 Load Tests ParDo Dataflow Batch |
BTW, did you mean to push changes here? |
No, I just needed to push changes to mypy-protobuf, which I did. |
@udim, this works but it's pip-installing mypy_protobuf from my github repo. I've opened a PR on that project to fix this, but there's no telling how long it will take them to merge it and make a new release to PyPI. Should we merge this as-is and make a new jira for fixing it when a new version of mypy_protobuf, or should we wait for the official release? |
I'd rather wait for an official release if you don't mind |
Done! Ready to test and hopefully merge. |
🎉 |
retest this please |
Run Python 3.7 Load Tests ParDo Dataflow Batch |
Run BigQueryIO Write Performance Test Python Batch |
@udim any idea what's going on with the python failures? |
Not sure, looking |
Run Python PreCommit |
The Python test has been stuck for days. Btw, I've submitted my CLAs to the secretary, so hopefully I'll be able to solve these problems on my own soon. |
Run Python PreCommit |
retest this |
@udim I used my new committer powers to push the tests along. All checks have passed! |
I just pulled the latest changes locally and I can no longer run tox or setup.py sdist. |
Arrg! This was working! Right? Do you have any idea if something changed? |
It works through the Gradle tasks' virtualenvs, so Jenkins is fine. See bug for workaround/solution. Perhaps using pyproject.toml is the way to go. |
Oh, You have to create your own venv and install build-requirements.txt
into it. Yeah, pyproject.toml would solve this.
…On Mon, Mar 2, 2020 at 1:29 PM Udi Meiri ***@***.***> wrote:
It works through the Gradle tasks' virtualenvs, so Jenkins is fine. See
bug for workaround/solution. Perhaps using pyproject.toml is the way to go.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#10734?email_source=notifications&email_token=AAAPOE562W7U2XXFRBWFBU3RFQQKRA5CNFSM4KN7J6TKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENRBXKY#issuecomment-593632171>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAPOE7C76UIX5HQXGOAQ43RFQQKRANCNFSM4KN7J6TA>
.
|
I think this should be resolved now by virtue of the dep being included in build-requirements.txt.
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-XXX
with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)
Pre-Commit Tests Status (on master branch)
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.