parkouss/funq

Change build steps to a DockerFile

Closed this issue · 6 comments

Looking at .travis.yml the build system used is an Qt4 version, what about create some Dockerfiles to test multiple Qt versions, especially Qt5?

With that, in future we can create builds for multiple architectures, aiming Embedded Linux Systems for an example.

https://docs.travis-ci.com/user/docker/

I added initial Qt5 support in #37. But the main problem is that PySide is Qt4, so the functional tests are not working with Qt5. In #37 I suggested to write the test application in C++ instead of Python, then we no longer need PySide and testing Qt5 should be easy.

Yeah, either that or use PyQt5, which can be installed with pip (at least for linux on travis). maybe it is just a matter of using different imports in the functional tests.

I think a first approach we can change functional tests to PyQt5 and progressively rewriting them to C++, what do you think?

Hmm it seems that PyQt5 is not available for Python 2.7 (at least not at https://pypi.org/project/PyQt5/), so we wouldn't be able to test with Qt5 on Python 2.7 :(

I have no experience with PyQt, but I really wonder if it's possible to get it run with all combinations of Linux/Windows/Mac, Qt4/Qt5 and Py2/Py3 (IMHO it should be the goal of funq to run on all combinations of them).

Porting the application to C++ would at least remove the dependency to Python, then we only have the combinations of OS type and Qt version which is probably much easier to handle...

Sure, actually will remove dependencies for PyQt and PySide, but we need to test the FunqClient to python 2.7 and 3.x. Also the app_test isn't too complex to port into a C++ app.

For python version compability we can use something like tox.

And for QML apps, at first we can simply use qmlscene.

For now I'll close this because of #38 and #37, with that now we have tests to validate supports to Qt4 and Qt5 also Python 2.7 and Python 3.x.