-
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-12000] Add Python 3.9 support. #16008
Conversation
run seed job |
Run Seed Job |
Codecov Report
@@ Coverage Diff @@
## master #16008 +/- ##
===========================================
+ Coverage 46.79% 83.62% +36.83%
===========================================
Files 203 452 +249
Lines 20044 62252 +42208
===========================================
+ Hits 9379 52060 +42681
- Misses 9665 10192 +527
+ Partials 1000 0 -1000 Continue to review full report at Codecov.
|
Run Seed Job |
Run Python 3.9 PostCommit |
Run Dataflow Python ValidatesRunner |
Run Python Dataflow ValidatesRunner |
What is the next step on this PR? |
Next step is to remove changes related to Dataflow Py 3.9 support since that runner needs additional work, and check in bits related to Apache Beam 3.9 support. |
Is this still being worked on? Are there parts of this CL that we can check in sooner rather than later? |
yes, it's being worked on as we speak. |
42ae2fd
to
f02959e
Compare
Thanks for taking a look at BEAM-12914, @robertwb . I will exclude the 4 failing test temporarily in this PR and it should be ready to go. |
92b3cf4
to
5a89115
Compare
R: @AnandInguva |
Cython currently uninstallable on Py3.9 on Jenkins VMs after Ubuntu upgrade, looking into that. |
build.gradle.kts
Outdated
} | ||
|
||
tasks.register("pythonLintPreCommit") { | ||
// TODO(BEAM-8890): Find a better way to specify lint and formatter tasks without hardcoding py version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to verify, for this Jira, I see an issue related to updating google-cloud-java
. I don't see anything on lint and formatter.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it should be BEAM-9980
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch
tasks.register("portablePythonPreCommit") { | ||
dependsOn(":sdks:python:test-suites:portable:py36:preCommitPy36") | ||
dependsOn(":sdks:python:test-suites:portable:py37:preCommitPy37") | ||
dependsOn(":sdks:python:test-suites:portable:py39:preCommitPy39") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we have only py36, py39?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some test suites, the main value may be in testing the highest supported version and the lowest supported version only to save resources and reduce execution time. But, existing suite definitions not always follow this rule and sometimes test random versions. Some suites test all versions.
Fixed one more issue (https://issues.apache.org/jira/browse/BEAM-13845 has details) |
build.gradle.kts
Outdated
dependsOn(":sdks:python:test-suites:tox:py38:archiveFilesToLint") | ||
dependsOn(":sdks:python:test-suites:tox:py38:unpackFilesToLint") | ||
dependsOn(":sdks:python:test-suites:tox:py38:whitespacelint") | ||
} | ||
|
||
tasks.register("typescriptPreCommit") { | ||
// TODO(BEAM-8890): Find a better way to specify the tasks without hardcoding py version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.github/workflows/python_tests.yml
Outdated
exclude: | ||
# TODO remove exclusion after issue with protobuf is solved | ||
# https://github.com/protocolbuffers/protobuf/issues/7765 | ||
- os: windows-latest | ||
python: 3.8 | ||
python: 3.9 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According the PR, this is solved for 3.9[Wheels are now present for Windows] IIUC. Can you check the PR and if it solved, can we remove the exclude
for Python 3.9?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching!
Thanks, PTAL, @AnandInguva |
LGTM! |
remaining test failures are unrelated to this PR. I will squash fixups and merge. |
772399e
to
9201323
Compare
9201323
to
4b2e58f
Compare
Run Seed Job |
Run Python 3.9 PostCommit |
Run Python Dataflow V2 ValidatesRunner |
Run Python Dataflow ValidatesRunner |
Run Python Dataflow ValidatesContainer |
Run Python Examples_Direct |
Run Python 3.9 PostCommit |
Run Python 3.9 PostCommit |
Run Seed Job |
Run Python 3.9 PostCommit |
Merging based on the result of local execution + prior test results. |
Add Python 3.9 infrastructure and test suites for Apache Beam.