Hi folks! Since we already have a separate repo for thin-clients [1], [2] I'd like to propose some improvements in development process/
1. We should simplify and automate unit tests run for different versions of python 2. We should add travis integration per commit and pr. Tests could be run against latest dockered image of ignite 3. There should be ability to run tests against multiple pythons on TC 4. For thin client development process, travis should be the first option. TC suite should be used only to check that compatibility is not broken and when new functionality is developed (rare case). I've prepared fix [3], you can see successful builds for travis. It uses tox [5], the most common tool to run tests in multiple environments. There are few environments set up in tox.ini -- with and without docker, with or without ssl, etc. This helped a lot to setup travis CI build (you can see in commits list of PR) and simplify run tests for developers. Also docker-compose was introduced to help python thin client developers. But I need some assistance for TC: 1. There is outdated python setuptools on TC agents, so tests cannot be run with updated pytest etc. 2. Multiple pythons should be installed on TC agents (via https://github.com/pyenv/pyenv), latest minor versions for 3.6, 3.7 and 3.8 3. After that, TC job should be changed to utilize tox WDYT about this initiative? [1] -- https://issues.apache.org/jira/browse/IGNITE-13767 [2] -- https://github.com/apache/ignite-python-thin-client [3] -- https://issues.apache.org/jira/browse/IGNITE-13903 [4] -- https://github.com/apache/ignite-python-thin-client/pull/1/commits [5] -- https://tox.readthedocs.io/en/latest/ -- Sincerely yours, Ivan Daschinskiy
