66 lines
1.4 KiB
Docker
66 lines
1.4 KiB
Docker
# 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
|