# CI test image for pyPhotoAlbum # Build: docker build -f Dockerfile.ci -t gitea.tourolle.paris/dtourolle/pyphotoalbum-ci:latest . # Push: docker push gitea.tourolle.paris/dtourolle/pyphotoalbum-ci:latest FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ --no-install-recommends \ # Python python3 \ python3-pip \ # PyQt6 / OpenGL runtime deps libgl1 \ libglib2.0-0 \ libegl1 \ libfontconfig1 \ libfreetype6 \ libdbus-1-3 \ # XCB / display (needed even with offscreen platform) libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcb-cursor0 \ libxcb-glx0 \ libxcb-icccm4 \ libxcb-image0 \ libxcb-keysyms1 \ libxcb-randr0 \ libxcb-render0 \ libxcb-render-util0 \ libxcb-shape0 \ libxcb-shm0 \ libxcb-sync1 \ libxcb-xfixes0 \ libxcb-xinerama0 \ libxcb-xkb1 \ libxkbcommon0 \ libxkbcommon-x11-0 \ # Misc tools used in workflows curl \ git \ nodejs \ && rm -rf /var/lib/apt/lists/* # Install all Python dependencies so CI runs don't need to download anything RUN pip3 install --break-system-packages --no-cache-dir \ # Runtime deps PyQt6 \ PyOpenGL \ numpy \ Pillow \ reportlab \ lxml \ pypdf \ # Dev/test deps pytest \ pytest-qt \ pytest-cov \ pytest-mock \ pdfplumber \ flake8 \ coverage-badge \ interrogate \ setuptools