You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Ahmet Altay (Jira)" <ji...@apache.org> on 2019/09/05 01:28:00 UTC

[jira] [Commented] (BEAM-8152) Provide a way to better control minor+patch versions of Python 3.x interpreters used to run Beam tests locally and on Jenkins.

    [ https://issues.apache.org/jira/browse/BEAM-8152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16922973#comment-16922973 ] 

Ahmet Altay commented on BEAM-8152:
-----------------------------------

> 2) which patch versions of Python Beam should claim to support.
Unless there is a reason, I think we should recommend the last patch version but should support as many patch version as possible. For 2.7 I believe, we do support only a few patch versions and we check this in setup.py. We can do the same for all py3 versions as well. 

We could also adopt a policy of adding rolling support of new python version and deprecating support for older ones. We could generalize this from the principles of py 2 deprecation.

> 1) which patch versions of Python we should test against on Jenkins 
I suggest we test against the minimum patch version we claim to support in that version family.

> Provide a way to better control minor+patch versions of Python 3.x interpreters used to run Beam tests locally and on Jenkins.
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: BEAM-8152
>                 URL: https://issues.apache.org/jira/browse/BEAM-8152
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-py-core, testing
>            Reporter: Valentyn Tymofieiev
>            Priority: Major
>
> Currently, Beam Python test infrastructure does not provide fine-grained way to control Python interpreter version. The major+minor version are typically selected by virtual environment, and the patch version of interpreter is defined by the version of python package available on machine that is running the tests. 
> For example, Jenkins ubuntu-based machines, use Python 3.5.2 for python 3.5 test suites, while debian-based SDK harness containers for Python 3.5 come with Python 3.5.6, and the python3.5 package available on my dev machine is Python 3.5.4. 
> Throughout development of Python 3.5.x, Cpython implementation details that have changed in and these changes affect certain codepaths in Beam, such as type inference. 
>  
> When we encounter such issues, it is difficult for Beam developers to test their changes against a particular patch version of Python interpreter both remotely and locally. Opening this issue to make it simpler.
> cc: [~markflyhigh] [~yifanzou] [~udim] [~altay] who may have opinions and ideas about how to make this simpler.
> Note that there are separate questions: 
>   1) which patch versions of Python we should test against on Jenkins  
>   2) which patch versions of Python Beam should claim to support. 
> Regardless of the answers to those questions, we may want to make it easier for an engineer to run a test suite against a particular patch version of Python, and/or make it easier to switch which patch version is used by Jenkins. 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)