From d435f4cd3e974b79c85ebff2a9f54d15e7af0a6f Mon Sep 17 00:00:00 2001 From: Tim McCormack Date: Thu, 23 Apr 2020 17:47:29 +0000 Subject: [PATCH] Use pip-sync to make sure that dep cache tarball can go safely stale This "fixes" egg-links in a really hacky way to compensate for the lack of a real relocatable virtualenv. --- Makefile | 3 ++- scripts/jenkins-common.sh | 6 ++++++ scripts/xdist/setup_worker.sh | 6 +++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 586ab8d884..887e609508 100644 --- a/Makefile +++ b/Makefile @@ -61,7 +61,8 @@ pull: ## update the Docker image used by "make shell" docker pull edxops/edxapp:latest requirements: ## install development environment requirements - pip install -qr requirements/edx/development.txt --exists-action w + pip install -qr requirements/edx/pip-tools.txt + pip-sync -q requirements/edx/development.txt requirements/edx/private.* shell: ## launch a bash shell in a Docker container with all edx-platform dependencies installed docker run -it -e "NO_PYTHON_UNINSTALL=1" -e "PIP_INDEX_URL=https://pypi.python.org/simple" -e TERM \ diff --git a/scripts/jenkins-common.sh b/scripts/jenkins-common.sh index b1a56b1f39..d4048817d9 100644 --- a/scripts/jenkins-common.sh +++ b/scripts/jenkins-common.sh @@ -45,6 +45,12 @@ fi # Activate the Python virtualenv source $VENV_PATH/edx-venv/bin/activate +# Hack to fix up egg-link files given that the virtualenv is not relocatable +sed -i "s|^/home/jenkins/shallow-clone|`pwd`|" -- \ + $VENV_PATH/edx-venv/lib/python*/site-packages/*.egg-link +pip install -qr requirements/edx/pip-tools.txt +pip-sync -q requirements/edx/testing.txt requirements/edx/django.txt + # add the node packages dir to PATH PATH=$PATH:node_modules/.bin diff --git a/scripts/xdist/setup_worker.sh b/scripts/xdist/setup_worker.sh index 3456c8ecd5..1fd4f8c24f 100755 --- a/scripts/xdist/setup_worker.sh +++ b/scripts/xdist/setup_worker.sh @@ -18,6 +18,10 @@ rm -rf $venv tar -C $venv_parent -xf /home/jenkins/edx-venv_clean-${PYTHON_VERSION}.tar.gz source $venv/bin/activate -pip install -q -r ${DJANGO_REQUIREMENT} -r requirements/edx/testing.txt +# Hack to fix up egg-link files given that the virtualenv is not relocatable +sed -i "s|\(^/home/jenkins\)/shallow-clone|\1/edx-platform|" -- \ + $venv/lib/python*/site-packages/*.egg-link +pip install -qr requirements/edx/pip-tools.txt +pip-sync -q requirements/edx/testing.txt "${DJANGO_REQUIREMENT}" mkdir reports