From 78f36dfd16aae2d287c6e0f55f9a8988df7ff03b Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Thu, 18 May 2017 16:35:06 -0400 Subject: [PATCH] chore: track python dependencies with pip (#1447) We're currently hardcoding various pip dependencies in `appveyor-install.bat` and `travis-install.sh`. This commit moves all the dependencies to a `requirements.txt` file in the root of the project, and makes every install script run `pip install -r requirements.txt`. See: https://github.com/resin-io/etcher/pull/1401#discussion_r116547053 Signed-off-by: Juan Cruz Viotti --- .dockerignore | 1 + .gitattributes | 1 + docs/RUNNING-LOCALLY.md | 8 ++++++-- requirements.txt | 3 +++ scripts/build/docker/Dockerfile-i686 | 3 ++- scripts/build/docker/Dockerfile-x86_64 | 3 ++- scripts/build/docker/Dockerfile.template | 3 ++- scripts/ci/appveyor-install.bat | 2 +- scripts/ci/travis-install.sh | 2 +- 9 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 requirements.txt diff --git a/.dockerignore b/.dockerignore index 72e8ffc0db..98253acf0c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ * +!requirements.txt diff --git a/.gitattributes b/.gitattributes index ad33d3a10e..e981810545 100644 --- a/.gitattributes +++ b/.gitattributes @@ -24,6 +24,7 @@ Makefile text *.svg text *.yml text *.patch text +*.txt text # Binary files (no line-ending conversions) *.bz2 binary diff=hex diff --git a/docs/RUNNING-LOCALLY.md b/docs/RUNNING-LOCALLY.md index 8b728d1bb7..81a8789c4d 100644 --- a/docs/RUNNING-LOCALLY.md +++ b/docs/RUNNING-LOCALLY.md @@ -12,9 +12,13 @@ Prerequisites - [NodeJS](https://nodejs.org) (at least v6) - [Python](https://www.python.org) - [jq](https://stedolan.github.io/jq/) -- [Codespell](https://github.com/lucasdemarchi/codespell) - [curl](https://curl.haxx.se/) -- [cpplint](https://github.com/cpplint/cpplint) + +```sh +pip install -r requirements.txt +``` + +You might need to run this with `sudo` or administrator permissions. ### Windows diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..4de59197cd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +codespell==1.9.2 +cpplint==1.3.0 +awscli==1.11.87 diff --git a/scripts/build/docker/Dockerfile-i686 b/scripts/build/docker/Dockerfile-i686 index 3d98de9687..2dc475a883 100644 --- a/scripts/build/docker/Dockerfile-i686 +++ b/scripts/build/docker/Dockerfile-i686 @@ -41,4 +41,5 @@ RUN npm config set spin=false RUN npm install -g uglify-es@3.0.3 electron-installer-debian@0.5.1 # Python -RUN pip install codespell==1.9.2 awscli cpplint +COPY requirements.txt requirements.txt +RUN pip install -r requirements.txt diff --git a/scripts/build/docker/Dockerfile-x86_64 b/scripts/build/docker/Dockerfile-x86_64 index df35bc3cf7..a340ebd687 100644 --- a/scripts/build/docker/Dockerfile-x86_64 +++ b/scripts/build/docker/Dockerfile-x86_64 @@ -41,4 +41,5 @@ RUN npm config set spin=false RUN npm install -g uglify-es@3.0.3 electron-installer-debian@0.5.1 # Python -RUN pip install codespell==1.9.2 awscli cpplint +COPY requirements.txt requirements.txt +RUN pip install -r requirements.txt diff --git a/scripts/build/docker/Dockerfile.template b/scripts/build/docker/Dockerfile.template index aa3b9598f4..e177b625ca 100644 --- a/scripts/build/docker/Dockerfile.template +++ b/scripts/build/docker/Dockerfile.template @@ -41,4 +41,5 @@ RUN npm config set spin=false RUN npm install -g uglify-es@3.0.3 electron-installer-debian@0.5.1 # Python -RUN pip install codespell==1.9.2 awscli cpplint +COPY requirements.txt requirements.txt +RUN pip install -r requirements.txt diff --git a/scripts/ci/appveyor-install.bat b/scripts/ci/appveyor-install.bat index 566ab03ec7..b9adad0d80 100755 --- a/scripts/ci/appveyor-install.bat +++ b/scripts/ci/appveyor-install.bat @@ -26,7 +26,7 @@ call choco install nsis -version 2.51 || ( EXIT /B 1 ) call choco install jq || ( EXIT /B 1 ) call choco install curl || ( EXIT /B 1 ) -call pip install codespell==1.9.2 awscli cpplint || ( EXIT /B 1 ) +call pip install -r requirements.txt || ( EXIT /B 1 ) call make info || ( EXIT /B 1 ) call make electron-develop || ( EXIT /B 1 ) diff --git a/scripts/ci/travis-install.sh b/scripts/ci/travis-install.sh index 1b0019e7e0..16e741c9b1 100755 --- a/scripts/ci/travis-install.sh +++ b/scripts/ci/travis-install.sh @@ -37,7 +37,7 @@ else npm config set spin=false npm install -g uglify-es@3.0.3 - pip install codespell==1.9.2 awscli cpplint + pip install -r requirements.txt brew install afsctool jq make info make electron-develop