You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by cr...@apache.org on 2020/08/09 01:56:49 UTC

[incubator-superset] branch master updated: fix: Updating Dockerfile to work with updated python requirements. (#10550)

This is an automated email from the ASF dual-hosted git repository.

craigrueda pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 5a908d4  fix: Updating Dockerfile to work with updated python requirements. (#10550)
5a908d4 is described below

commit 5a908d45138f307ce6bdfdf95316d455330a953f
Author: Craig Rueda <cr...@craigrueda.com>
AuthorDate: Sat Aug 8 18:56:20 2020 -0700

    fix: Updating Dockerfile to work with updated python requirements. (#10550)
    
    * Updating Dockerfile to work with updated python requirements.
    
    * Adding a Docker build step to CI workflow
    
    * Trying docker build-push
    
    * Linting Dockerfile-dev
    
    * Switching to dev dockerfile
---
 .github/workflows/superset-docker.yml              | 22 ++++++++++++++++++++++
 Dockerfile                                         | 17 ++++++++++-------
 Dockerfile-dev                                     |  9 ++++-----
 .../docker.in                                      |  7 ++++---
 requirements/docker.txt                            | 17 +++++++++++++++++
 5 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/.github/workflows/superset-docker.yml b/.github/workflows/superset-docker.yml
new file mode 100644
index 0000000..a9fae05
--- /dev/null
+++ b/.github/workflows/superset-docker.yml
@@ -0,0 +1,22 @@
+name: DOCKER
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    name: build
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Run local registry
+        run: docker run -d -p 5000:5000 registry:2
+
+      - name: Build and push Docker images
+        uses: docker/build-push-action@v1
+        with:
+          dockerfile: Dockerfile-dev
+          registry: localhost:5000
+          repository: temp/workflow
+          tags: foo
diff --git a/Dockerfile b/Dockerfile
index b4b6a46..16b8d3a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -27,13 +27,18 @@ RUN mkdir /app \
             build-essential \
             default-libmysqlclient-dev \
             libpq-dev \
+            libsasl2-dev \
         && rm -rf /var/lib/apt/lists/*
 
 # First, we just wanna install requirements, which will allow us to utilize the cache
 # in order to only build if and only if requirements change
-COPY ./requirements/*.txt /app/
+COPY ./requirements/*.txt  /app/requirements/
+COPY setup.py MANIFEST.in README.md /app/
+COPY superset-frontend/package.json /app/superset-frontend/
 RUN cd /app \
-        && pip install --no-cache -r requirements/local.txt
+    && mkdir -p superset/static \
+    && touch superset/static/version_info.json \
+    && pip install --no-cache -r requirements/local.txt
 
 
 ######################################################################
@@ -114,13 +119,11 @@ ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
 ######################################################################
 FROM lean AS dev
 
-COPY ./requirements/*.txt ./docker/requirements/ /app/
+COPY ./requirements/*.txt ./docker/requirements-*.txt/ /app/requirements/
 
 USER root
 # Cache everything for dev purposes...
 RUN cd /app \
-    && pip install --ignore-installed -e . \
-    && pip install --ignore-installed -r requirements/local.txt \
-    && pip install --ignore-installed -r requirements-extra.txt \
-    && pip install --ignore-installed -r requirements-local.txt || true
+    && pip install --no-cache -r requirements/docker.txt \
+    && pip install --no-cache -r requirements/requirements-local.txt || true
 USER superset
diff --git a/Dockerfile-dev b/Dockerfile-dev
index f96b79f..0bab1c8 100644
--- a/Dockerfile-dev
+++ b/Dockerfile-dev
@@ -20,12 +20,11 @@
 ######################################################################
 FROM preset/superset:dev
 
-COPY ./requirements/*.txt ./docker/requirements* /app/
+COPY ./requirements/*.txt ./docker/requirements-*.txt/ /app/requirements/
 
 USER root
+# Cache everything for dev purposes...
 RUN cd /app \
-    && pip install -e . \
-    && pip install --no-cache -r requirements/local.txt \
-    && pip install --no-cache -r requirements-extra.txt \
-    && pip install --no-cache -r requirements-local.txt || true
+    && pip install --no-cache -r requirements/docker.txt \
+    && pip install --no-cache -r requirements/requirements-local.txt || true
 USER superset
diff --git a/docker/requirements-extra.txt b/requirements/docker.in
similarity index 94%
rename from docker/requirements-extra.txt
rename to requirements/docker.in
index e7a1ffc..252cce8 100644
--- a/docker/requirements-extra.txt
+++ b/requirements/docker.in
@@ -14,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-gevent==1.4.0
-psycopg2-binary==2.8.5
-redis==3.2.1
+-r base.in
+gevent
+psycopg2-binary
+redis
diff --git a/requirements/docker.txt b/requirements/docker.txt
new file mode 100644
index 0000000..e2138eb
--- /dev/null
+++ b/requirements/docker.txt
@@ -0,0 +1,17 @@
+# SHA1:54074dcfe0a3bf83a9f4f8e2fb9d24746a86b50c
+#
+# This file is autogenerated by pip-compile-multi
+# To update, run:
+#
+#    pip-compile-multi
+#
+-r base.txt
+-e file:.                 # via -r base.in
+gevent==20.6.2            # via -r docker.in
+greenlet==0.4.16          # via gevent
+redis==3.5.3              # via -r docker.in
+zope.event==4.4           # via gevent
+zope.interface==5.1.0     # via gevent
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools