From b04b314a9b4b3fc3dc7ee1347b7dc6c1c52f6909 Mon Sep 17 00:00:00 2001 From: Stefan Agner <stefan@agner.ch> Date: Wed, 1 Dec 2021 12:20:00 +0000 Subject: [PATCH] Extend Docker build caching opportunities (#60661) --- Dockerfile | 15 ++++++++++++--- Dockerfile.dev | 9 +++++---- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index c802ba9b273..a4d5ce3045d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,12 +7,21 @@ ENV \ WORKDIR /usr/src -## Setup Home Assistant +## Setup Home Assistant Core dependencies +COPY requirements.txt homeassistant/ +COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ +RUN \ + pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ + -r homeassistant/requirements.txt +COPY requirements_all.txt homeassistant/ +RUN \ + pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ + -r homeassistant/requirements_all.txt + +## Setup Home Assistant Core COPY . homeassistant/ RUN \ pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ - -r homeassistant/requirements_all.txt \ - && pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ -e ./homeassistant \ && python3 -m compileall homeassistant/homeassistant diff --git a/Dockerfile.dev b/Dockerfile.dev index 5ebaa644ce5..727358dae9e 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -30,11 +30,12 @@ RUN git clone --depth 1 https://github.com/home-assistant/hass-release \ WORKDIR /workspaces # Install Python dependencies from requirements -COPY requirements.txt requirements_test.txt requirements_test_pre_commit.txt ./ +COPY requirements.txt ./ COPY homeassistant/package_constraints.txt homeassistant/package_constraints.txt -RUN pip3 install -r requirements.txt \ - && pip3 install -r requirements_test.txt \ - && rm -rf requirements.txt requirements_test.txt requirements_test_pre_commit.txt homeassistant/ +RUN pip3 install -r requirements.txt +COPY requirements_test.txt requirements_test_pre_commit.txt ./ +RUN pip3 install -r requirements_test.txt +RUN rm -rf requirements.txt requirements_test.txt requirements_test_pre_commit.txt homeassistant/ # Set the default shell to bash instead of sh ENV SHELL /bin/bash -- GitLab