Browse Source

Trim the dockerfile and re-use the virtualenv we already have.

Signed-off-by: Daniel Nephin <[email protected]>
Daniel Nephin 10 years ago
parent
commit
8b29a50b52
3 changed files with 15 additions and 19 deletions
  1. 11 12
      Dockerfile
  2. 1 5
      script/build-linux
  3. 3 2
      script/build-linux-inner

+ 11 - 12
Dockerfile

@@ -10,15 +10,16 @@ RUN set -ex; \
         zlib1g-dev \
         libssl-dev \
         git \
-        apt-transport-https \
         ca-certificates \
         curl \
-        lxc \
-        iptables \
         libsqlite3-dev \
     ; \
     rm -rf /var/lib/apt/lists/*
 
+RUN curl https://get.docker.com/builds/Linux/x86_64/docker-latest \
+        -o /usr/local/bin/docker && \
+    chmod +x /usr/local/bin/docker
+
 # Build Python 2.7.9 from source
 RUN set -ex; \
     curl -LO https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz; \
@@ -69,19 +70,17 @@ ENV LANG en_US.UTF-8
 RUN useradd -d /home/user -m -s /bin/bash user
 WORKDIR /code/
 
-RUN pip install tox
+RUN pip install tox==2.1.1
 
 ADD requirements.txt /code/
-RUN pip install -r requirements.txt
-
 ADD requirements-dev.txt /code/
-RUN pip install -r requirements-dev.txt
-
-RUN pip install tox==2.1.1
+ADD .pre-commit-config.yaml /code/
+ADD setup.py /code/
+ADD tox.ini /code/
+ADD compose /code/compose/
+RUN tox --notest
 
 ADD . /code/
-RUN pip install --no-deps -e /code
-
 RUN chown -R user /code/
 
-ENTRYPOINT ["/usr/local/bin/docker-compose"]
+ENTRYPOINT ["/code/.tox/py27/bin/docker-compose"]

+ 1 - 5
script/build-linux

@@ -4,8 +4,4 @@ set -ex
 
 TAG="docker-compose"
 docker build -t "$TAG" .
-docker run \
-  --rm \
-  --volume="$(pwd):/code" \
-  --entrypoint="script/build-linux-inner" \
-  "$TAG"
+docker run --rm --entrypoint="script/build-linux-inner" "$TAG"

+ 3 - 2
script/build-linux-inner

@@ -3,11 +3,12 @@
 set -ex
 
 TARGET=dist/docker-compose-Linux-x86_64
+VENV=/code/.tox/py27
 
 mkdir -p `pwd`/dist
 chmod 777 `pwd`/dist
 
-pip install -r requirements-build.txt
-su -c "pyinstaller docker-compose.spec" user
+$VENV/bin/pip install -r requirements-build.txt
+su -c "$VENV/bin/pyinstaller docker-compose.spec" user
 mv dist/docker-compose $TARGET
 $TARGET version