forked from home-assistant/core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve development workflow in docker (home-assistant#5079)
* Allow bower install of frontend components as root. Needed for frontend development in docker since everything runs as root in the docker image. * Improve development workflow in docker * Use LANG=C.UTF-8 in tox. Fixes installation of libraries with UTF-8 in it's readme. * Install mysqlclient psycopg2 uvloop after requirements_all.txt again, but with a --no-cache-dir this time. Allows bootstrap_frontend to be executed in a different path like the other scripts.
- Loading branch information
1 parent
b2371c6
commit c864ea6
Showing
21 changed files
with
142 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
#!/bin/sh | ||
# Resolve all dependencies that the application requires to run. | ||
|
||
# script/bootstrap: Resolve all dependencies that the application requires to | ||
# run. | ||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
|
||
script/bootstrap_server | ||
script/bootstrap_frontend |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,21 @@ | ||
#!/bin/sh | ||
# Resolve all frontend dependencies that the application requires to run. | ||
|
||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
|
||
echo "Bootstrapping frontend..." | ||
|
||
git submodule update | ||
cd homeassistant/components/frontend/www_static/home-assistant-polymer | ||
|
||
# Install node modules | ||
npm install | ||
./node_modules/.bin/bower install | ||
|
||
# Install bower web components. Allow to download the components as root since the user in docker is root. | ||
./node_modules/.bin/bower install --allow-root | ||
|
||
npm run setup_js_dev | ||
cd ../../../../.. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,30 @@ | ||
#!/bin/sh | ||
# Builds the frontend for production | ||
|
||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
|
||
cd homeassistant/components/frontend/www_static | ||
rm -rf core.js* frontend.html* webcomponents-lite.min.js* panels | ||
cd home-assistant-polymer | ||
# Clean up | ||
rm -rf homeassistant/components/frontend/www_static/core.js* \ | ||
homeassistant/components/frontend/www_static/frontend.html* \ | ||
homeassistant/components/frontend/www_static/webcomponents-lite.min.js* \ | ||
homeassistant/components/frontend/www_static/panels | ||
cd homeassistant/components/frontend/www_static/home-assistant-polymer | ||
npm run clean | ||
npm run frontend_prod | ||
|
||
# Build frontend | ||
npm run frontend_prod | ||
cp bower_components/webcomponentsjs/webcomponents-lite.min.js .. | ||
cp -r build/* .. | ||
BUILD_DEV=0 node script/gen-service-worker.js | ||
cp build/service_worker.js .. | ||
|
||
cd .. | ||
|
||
# Pack frontend | ||
gzip -f -k -9 *.html *.js ./panels/*.html | ||
cd ../../../.. | ||
|
||
# Generate the MD5 hash of the new frontend | ||
cd ../../../.. | ||
script/fingerprint_frontend.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,8 @@ | ||
#!/bin/bash | ||
#!/bin/sh | ||
# Execute lint in a docker container to spot code mistakes. | ||
|
||
# Stop on errors | ||
set -e | ||
|
||
docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.test . | ||
docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.dev . | ||
docker run --rm -it home-assistant-test tox -e lint |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
#!/bin/sh | ||
# Launch the application and any extra required processes locally. | ||
|
||
# script/server: Launch the application and any extra required processes | ||
# locally. | ||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
|
||
python3 -m homeassistant -c config |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
#!/usr/bin/env sh | ||
cd "$(dirname "$0")/.." | ||
#!/bin/sh | ||
# Setups the repository. | ||
|
||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
git submodule init | ||
script/bootstrap | ||
python3 setup.py develop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,4 @@ | ||
#!/bin/sh | ||
# | ||
# NOTE: all testing is now driven through tox. The tox command below | ||
# performs roughly what this test did in the past. | ||
# Excutes the tests with tox. | ||
|
||
tox -e py34 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,8 @@ | ||
#!/bin/bash | ||
#!/bin/sh | ||
# Excutes the tests with tox in a docker container. | ||
|
||
# Stop on errors | ||
set -e | ||
|
||
docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.test . | ||
docker run --rm -it home-assistant-test tox -e py34 | ||
docker build -t home-assistant-test -f virtualization/Docker/Dockerfile.dev . | ||
docker run --rm -it home-assistant-test tox -e py35 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
#!/bin/sh | ||
# Update application to run for its current checkout. | ||
|
||
# script/update: Update application to run for its current checkout. | ||
# Stop on errors | ||
set -e | ||
|
||
cd "$(dirname "$0")/.." | ||
|
||
git pull | ||
git submodule update |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Dockerfile for development | ||
# Based on the production Dockerfile, but with development additions. | ||
# Keep this file as close as possible to the production Dockerfile, so the environments match. | ||
|
||
FROM python:3.5 | ||
MAINTAINER Paulus Schoutsen <[email protected]> | ||
|
||
VOLUME /config | ||
|
||
RUN mkdir -p /usr/src/app | ||
WORKDIR /usr/src/app | ||
|
||
RUN pip3 install --no-cache-dir colorlog cython | ||
|
||
# For the nmap tracker, bluetooth tracker, Z-Wave, tellstick | ||
RUN echo "deb http://download.telldus.com/debian/ stable main" >> /etc/apt/sources.list.d/telldus.list && \ | ||
wget -qO - http://download.telldus.se/debian/telldus-public.key | apt-key add - && \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends nmap net-tools cython3 libudev-dev sudo libglib2.0-dev bluetooth libbluetooth-dev \ | ||
libtelldus-core2 && \ | ||
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
|
||
COPY script/build_python_openzwave script/build_python_openzwave | ||
RUN script/build_python_openzwave && \ | ||
mkdir -p /usr/local/share/python-openzwave && \ | ||
ln -sf /usr/src/app/build/python-openzwave/openzwave/config /usr/local/share/python-openzwave/config | ||
|
||
COPY requirements_all.txt requirements_all.txt | ||
RUN pip3 install --no-cache-dir -r requirements_all.txt && \ | ||
pip3 install --no-cache-dir mysqlclient psycopg2 uvloop | ||
|
||
# BEGIN: Development additions | ||
|
||
# Install nodejs | ||
RUN curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - && \ | ||
apt-get install -y nodejs | ||
|
||
# Install tox | ||
RUN pip3 install --no-cache-dir tox | ||
|
||
# Copy over everything required to run tox | ||
COPY requirements_test.txt . | ||
COPY setup.cfg . | ||
COPY setup.py . | ||
COPY tox.ini . | ||
COPY homeassistant/const.py homeassistant/const.py | ||
|
||
# Get all dependencies | ||
RUN tox -e py35 --notest | ||
|
||
# END: Development additions | ||
|
||
# Copy source | ||
COPY . . | ||
|
||
CMD [ "python", "-m", "homeassistant", "--config", "/config" ] |
This file was deleted.
Oops, something went wrong.