Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix: Updating Dockerfile to work with updated python requirements. #10550

Merged
merged 6 commits into from
Aug 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/superset-docker.yml
Original file line number Diff line number Diff line change
@@ -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
17 changes: 10 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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


######################################################################
Expand Down Expand Up @@ -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
9 changes: 4 additions & 5 deletions Dockerfile-dev
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 4 additions & 3 deletions docker/requirements-extra.txt → requirements/docker.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
17 changes: 17 additions & 0 deletions requirements/docker.txt
Original file line number Diff line number Diff line change
@@ -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