Skip to content

Latest commit

 

History

History
128 lines (92 loc) · 6.09 KB

DOCKER.md

File metadata and controls

128 lines (92 loc) · 6.09 KB

Docker

In order to successfully test Qt.py against the different bindings of different versions, we use Github Actions to run Docker containers based on pre-built CentOS-based images.

The Docker images follow the VFX Reference Platform specifications with some additionals, and are quite jam-packed.



Software built from source

  • glibc1
  • gcc1
  • git2
  • cmake3
  • Qt44
  • Qt5 + Autodesk-modifications1
  • Qt5 Creator1, 5
  • SIP4
  • PyQt44
  • PySide4
  • PyQt51
  • PySide21

1 Per specification from VFX Platform 2 Adds possibility to faster clone large repositories 3 cmake 3.x required to build PySide2 4 Required for Qt.py testing 5 Required for PySide2.QtUiTools



Software versions

We create new Docker containers when the VFX Reference Platform is updated; around the time of SIGGRAPH (usually July/August) each year.

We abide the software versions stipulated by the VFX Platform reference. But for other software required by Qt.py, we checkout specific commit SHAs or source archives rather than going for the always-latest version of software. This also helps to re-build Docker images later, if needed.

There are non-strict rules (guidelines) for choosing software versions to build:

  • No commit SHA can be newer than the commit SHA from PySide2
  • No binding's commit SHA can be older than their respective Qt commit SHA

Other noteworthy things:

  • PySide cannot be built with anything newer than Python 3.4.
  • SIP is used by both PyQt4 and PyQt5 and its version must therefore be chosen carefully.
  • PySide2 does not have a maintained __version__ string as of Qt.py v1.1.0.b3.
  • All Qt bindings and Qt itself are built using their respective 5.6.x branch.


Image tagging

A new image should be tagged like repo/qt.py:YYYY. For CY2017, this translates into fredrikaverpil/qt.py:2017.

If there happens to be an update inbetween VFX Platform specifications, a revision version number could be added: repo/qt.py:YYYY-update1.



Enter the container

For debugging reasons, you can enter the container like this:

docker run --rm --interactive --tty --entrypoint=bash fredrikaverpil/qt.py:2017

You can then run python2.7, python3.4, python3.5, python3.6 and so on (depending on which Python versions were built).



Dockerfile.vfxplatform2018

Software Date Details
PySide2 2017-08-24 commit
PySide 2015-10-15 commit
SIP 2016-07-25 v4.18.1
PyQt5 2016-04-25 v5.6
PyQt4 2015-08-01 v4.11.4
Python 2.7 2015-12-05 v2.7.11
Python 3.4 2017-08-09 v3.4.7
Python 3.5 2017-08-08 v3.5.4
Python 3.6 2017-07-17 v3.6.2
Qt5 2016-06-16 commit
Adsk Qt5 qtbase 2017-06-07 commit
Adsk Qt5 qtx11extras 2017-02-24 commit
Qt5 Creator 2017-08-09 commit
Qt4 2015-10-23 commit
cmake 2017-07-18 v3.9.0
glibc 2012 (installed via yum) 2.17
gcc 2015 (installed via devtoolset-4) [v5.3.1]


Dockerfile.vfxplatform2017

Software Date Details
PySide2 2016-06-03 commit
PySide 2015-10-15 commit
SIP 2016-07-25 v4.18.1
PyQt5 2016-04-25 v5.6
PyQt4 2015-08-01 v4.11.4
Python 2.7 2015-12-05 v2.7.11
Python 3.4 2016-06-27 v3.4.5
Python 3.5 2015-12-07 v3.5.1
Qt5 2016-06-01 commit
Adsk Qt5 qtbase 2016-06-28 commit
Adsk Qt5 qtx11extras 2016-06-28 commit
Qt5 Creator 2016-06-09 commit
Qt4 2015-10-23 commit
cmake 2016-04-15 v3.5.2
glibc 2010 (pre-installed in CentOS 6) 2.12
gcc 2014-05-12 v4.8.3