[
https://issues.apache.org/jira/browse/BEAM-8152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17482056#comment-17482056
]
Giomar Gustavo Osorio Guevara commented on BEAM-8152:
-----------------------------------------------------
Working on _BEAM-12621_ together with [~danimartin], we have noticed that the
commands sent from Jenkins to the nodes are through SSH, this does not load the
environments defined in .bashrc for the jenkins user, nor those defined in the
/etc/bash.bashrc file.
This connection only loads those that are set in the /etc/environment file. In
the case of _BEAM-12621_, the image was updated and the python versions 3.6.13,
3.7.10, 3.8.9 (default) 3.9.4 and 3.10.1, were installed with pyenv, and the
variables associated with pyenv were added to /etc/environment so that pyenv is
accessible from any user and through SSH connections.
> 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: P3
> Time Spent: 16h 50m
> Remaining Estimate: 0h
>
> 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.20.1#820001)