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

Reply via email to