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