The containers now all inherit from a common Fedora 30 image, with only Python 3 packages installed. This saves disk space, and creates a consistent testing environment.
When possible, the base Dockerfile installs Python packages from the distro repository instead of PyPi. This is creates a stable installation that isn't dependent on the latest version of any package, so it should continue to work with less adjustment in the future.
Both the old and new Docker images produce a lot of failures when running the test suite from within. In the latter case, it's because redis-server is not installed on the dev_web_1 container (it's currently shipped in the redis container). Until the runtests.py script is fixed to handle a network socket, a workaround is possible by installing the redis package on dev_web_1 before running the tests. After doing that, most of the tests pass.
I've also updated the documentation about how to build / use the Docker images.
I plan to continue improving the Docker setup for Pagure with more commits.
The containers now all inherit from a common Fedora 30 image, with only Python 3 packages installed. This saves disk space, and creates a consistent testing environment.
When possible, the base Dockerfile installs Python packages from the distro repository instead of PyPi. This is creates a stable installation that isn't dependent on the latest version of any package, so it should continue to work with less adjustment in the future.
Both the old and new Docker images produce a lot of failures when running the test suite from within. In the latter case, it's because
redis-serveris not installed on thedev_web_1container (it's currently shipped in therediscontainer). Until theruntests.pyscript is fixed to handle a network socket, a workaround is possible by installing theredispackage ondev_web_1before running the tests. After doing that, most of the tests pass.I've also updated the documentation about how to build / use the Docker images.
I plan to continue improving the Docker setup for Pagure with more commits.