X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/7bf233a9446a7611b22bc2f73f7e221886632725..f7917453c99f8183ffd0397affcccb2c37594771:/Dockerfile

diff --git a/Dockerfile b/Dockerfile
index ce88f0c..4e8f12f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,16 +1,19 @@
-FROM python:3-slim
+FROM python:3-slim AS builder
 
-# TODO: Remove regex version pin once we get newer arm wheels
 RUN mkdir /src
 COPY . /src/
-RUN pip install --no-cache-dir --upgrade pip setuptools wheel \
-    && apt update && apt install -y git \
+ENV VIRTUAL_ENV=/opt/venv
+RUN python -m venv $VIRTUAL_ENV
+RUN . /opt/venv/bin/activate && pip install --no-cache-dir --upgrade pip setuptools wheel \
+    # Install build tools to compile dependencies that don't have prebuilt wheels
+    && apt update && apt install -y git build-essential \
     && cd /src \
-    && pip install --no-cache-dir regex==2021.10.8 \
-    && pip install --no-cache-dir .[colorama,d] \
-    && rm -rf /src \
-    && apt remove -y git \
-    && apt autoremove -y \
-    && rm -rf /var/lib/apt/lists/*
+    && pip install --no-cache-dir .[colorama,d]
+
+FROM python:3-slim
+
+# copy only Python packages to limit the image size
+COPY --from=builder /opt/venv /opt/venv
+ENV PATH="/opt/venv/bin:$PATH"
 
-CMD ["black"]
+CMD ["/opt/venv/bin/black"]