[
https://issues.apache.org/jira/browse/BEAM-8152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17043736#comment-17043736
]
Valentyn Tymofieiev commented on BEAM-8152:
-------------------------------------------
[~altay], I am of the same opinion - let's recommend users to use the latest
patch version available, and test on Jenkins the lowest minor version we
support.
Re: rolling support of minor version, this is tracked in a separate issue:
https://issues.apache.org/jira/browse/BEAM-8599; I plan to start a discussion
on that in the mailing list.
Re: controlling minor + patch version on Jenkins: pyenv seems a good way to
establish that; I tried using pyenv myself and it seems fairly easy to use. I
think we should use pyenv on Jenkins, and update contribution guide with
instructions on how to use pyenv locally.
[~kamilwu] [~mwalenia] [~yifanzou] would you have any availability/interest to
take on this? See [1] as a starting point. Primary issue right now is to
upgrade Python 3.5 interpreter on Jenkins machines to 3.5.3.
[1]
https://lists.apache.org/thread.html/133bab4b49adcd8f294fafe3ae1c13a34caf8b399e9af44c7b222e31%40%3Cdev.beam.apache.org%3E
> 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.4#803005)