diff --git a/docker/diffusers-onnxruntime-cpu/Dockerfile b/docker/diffusers-onnxruntime-cpu/Dockerfile deleted file mode 100644 index 25bbb347cf0b..000000000000 --- a/docker/diffusers-onnxruntime-cpu/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -FROM ubuntu:20.04 -LABEL maintainer="Hugging Face" -LABEL repository="diffusers" - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get -y update \ - && apt-get install -y software-properties-common \ - && add-apt-repository ppa:deadsnakes/ppa - -RUN apt install -y bash \ - build-essential \ - git \ - git-lfs \ - curl \ - ca-certificates \ - libsndfile1-dev \ - libgl1 \ - python3.10 \ - python3-pip \ - python3.10-venv && \ - rm -rf /var/lib/apt/lists - -# make sure to use venv -RUN python3.10 -m venv /opt/venv -ENV PATH="/opt/venv/bin:$PATH" - -# pre-install the heavy dependencies (these can later be overridden by the deps from setup.py) -RUN python3 -m pip install --no-cache-dir --upgrade pip uv==0.1.11 && \ - python3 -m uv pip install --no-cache-dir \ - torch==2.10.0 \ - torchvision==0.25.0 \ - torchaudio==2.10.0 \ - onnxruntime \ - --extra-index-url https://download.pytorch.org/whl/cpu && \ - python3 -m uv pip install --no-cache-dir \ - accelerate \ - datasets \ - hf-doc-builder \ - huggingface-hub \ - Jinja2 \ - librosa \ - numpy==1.26.4 \ - scipy \ - tensorboard \ - transformers \ - hf_xet - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/diffusers-onnxruntime-cuda/Dockerfile b/docker/diffusers-onnxruntime-cuda/Dockerfile deleted file mode 100644 index fd425d82c371..000000000000 --- a/docker/diffusers-onnxruntime-cuda/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -FROM nvidia/cuda:12.1.0-runtime-ubuntu20.04 -LABEL maintainer="Hugging Face" -LABEL repository="diffusers" - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get -y update \ - && apt-get install -y software-properties-common \ - && add-apt-repository ppa:deadsnakes/ppa - -RUN apt install -y bash \ - build-essential \ - git \ - git-lfs \ - curl \ - ca-certificates \ - libsndfile1-dev \ - libgl1 \ - python3.10 \ - python3-pip \ - python3.10-venv && \ - rm -rf /var/lib/apt/lists - -# make sure to use venv -RUN python3.10 -m venv /opt/venv -ENV PATH="/opt/venv/bin:$PATH" - -# pre-install the heavy dependencies (these can later be overridden by the deps from setup.py) -RUN python3.10 -m pip install --no-cache-dir --upgrade pip uv==0.1.11 && \ - python3.10 -m uv pip install --no-cache-dir \ - torch \ - torchvision \ - torchaudio \ - "onnxruntime-gpu>=1.13.1" \ - --extra-index-url https://download.pytorch.org/whl/cu117 && \ - python3.10 -m uv pip install --no-cache-dir \ - accelerate \ - datasets \ - hf-doc-builder \ - huggingface-hub \ - hf_xet \ - Jinja2 \ - librosa \ - numpy==1.26.4 \ - scipy \ - tensorboard \ - transformers - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/tests/others/test_docker_images.py b/tests/others/test_docker_images.py new file mode 100644 index 000000000000..4f833ad7aff8 --- /dev/null +++ b/tests/others/test_docker_images.py @@ -0,0 +1,26 @@ +import os +import re +import unittest + +import yaml + + +git_repo_path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) +docker_path = os.path.join(git_repo_path, "docker") +workflow_path = os.path.join(git_repo_path, ".github", "workflows", "build_docker_images.yml") + + +class TestDockerImages(unittest.TestCase): + def setUp(self): + self.image_dirs = set(os.listdir(docker_path)) + with open(workflow_path, "r") as f: + self.workflow = yaml.safe_load(f) + + def test_images_are_built_on_pull_requests(self): + run = self.workflow["jobs"]["test-build-docker-images"]["steps"][-1]["run"] + allowed_images = re.search(r"ALLOWED_IMAGES=\(\n(.*?)\)", run, flags=re.DOTALL).group(1) + self.assertSetEqual(set(allowed_images.split()), self.image_dirs) + + def test_images_are_pushed_on_schedule(self): + matrix = self.workflow["jobs"]["build-and-push-docker-images"]["strategy"]["matrix"] + self.assertSetEqual(set(matrix["image-name"]), self.image_dirs)