Enable pip caching on Jenkins slaves

pull/3638/head
Masood Malekghassemi 10 years ago
parent 9554534b5e
commit 60e5f91a39
  1. 7
      tools/jenkins/build_docker_and_run_tests.sh
  2. 4
      tools/jenkins/docker_run_tests.sh
  3. 5
      tools/jenkins/grpc_jenkins_slave/Dockerfile
  4. 13
      tools/run_tests/build_python.sh

@ -37,8 +37,13 @@ cd `dirname $0`/../..
git_root=`pwd` git_root=`pwd`
cd - cd -
# Ensure existence of ccache directory
mkdir -p /tmp/ccache mkdir -p /tmp/ccache
# Ensure existence of the home directory for XDG caches (e.g. what pip uses for
# its cache location now that --download-cache is deprecated).
mkdir -p /tmp/xdg-cache-home
# Create a local branch so the child Docker script won't complain # Create a local branch so the child Docker script won't complain
git branch -f jenkins-docker git branch -f jenkins-docker
@ -57,9 +62,11 @@ docker run \
-e "config=$config" \ -e "config=$config" \
-e "arch=$arch" \ -e "arch=$arch" \
-e CCACHE_DIR=/tmp/ccache \ -e CCACHE_DIR=/tmp/ccache \
-e XDG_CACHE_HOME=/tmp/xdg-cache-home \
-i $TTY_FLAG \ -i $TTY_FLAG \
-v "$git_root:/var/local/jenkins/grpc" \ -v "$git_root:/var/local/jenkins/grpc" \
-v /tmp/ccache:/tmp/ccache \ -v /tmp/ccache:/tmp/ccache \
-v /tmp/xdg-cache-home:/tmp/xdg-cache-home \
-v /var/run/docker.sock:/var/run/docker.sock \ -v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \ -v $(which docker):/bin/docker \
-w /var/local/git/grpc \ -w /var/local/git/grpc \

@ -36,6 +36,10 @@ set -e
export CONFIG=$config export CONFIG=$config
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.5 export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.5
# Ensure that programs depending on current-user-ownership of cache directories
# are satisfied (it's being mounted from outside the image).
chown `whoami` $XDG_CACHE_HOME
mkdir -p /var/local/git mkdir -p /var/local/git
git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc

@ -126,10 +126,11 @@ RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc"
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
python-all-dev \ python-all-dev \
python3-all-dev \ python3-all-dev \
python-pip \ python-pip
python-virtualenv
# Install Python packages from PyPI # Install Python packages from PyPI
RUN pip install pip --upgrade
RUN pip install virtualenv
RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.0.0a2 RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.0.0a2
# For sanity test # For sanity test

@ -39,9 +39,6 @@ GRPCIO=$ROOT/src/python/grpcio
GRPCIO_TEST=$ROOT/src/python/grpcio_test GRPCIO_TEST=$ROOT/src/python/grpcio_test
GRPCIO_HEALTH_CHECKING=$ROOT/src/python/grpcio_health_checking GRPCIO_HEALTH_CHECKING=$ROOT/src/python/grpcio_health_checking
#
# Dependency steps.
#
install_grpcio_deps() { install_grpcio_deps() {
cd $GRPCIO cd $GRPCIO
pip install -r requirements.txt pip install -r requirements.txt
@ -50,14 +47,7 @@ install_grpcio_test_deps() {
cd $GRPCIO_TEST cd $GRPCIO_TEST
pip install -r requirements.txt pip install -r requirements.txt
} }
#
# End dependency steps.
#
#
# Install steps. Requires that the `pip` command is appropriate (i.e. that the
# virtual environment has been activated).
#
install_grpcio() { install_grpcio() {
CFLAGS="-I$ROOT/include -std=c89" LDFLAGS=-L$ROOT/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install $GRPCIO CFLAGS="-I$ROOT/include -std=c89" LDFLAGS=-L$ROOT/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install $GRPCIO
} }
@ -67,9 +57,6 @@ install_grpcio_test() {
install_grpcio_health_checking() { install_grpcio_health_checking() {
pip install $GRPCIO_HEALTH_CHECKING pip install $GRPCIO_HEALTH_CHECKING
} }
#
# End install steps.
#
# Cleans the environment of previous installations # Cleans the environment of previous installations
clean_grpcio_all() { clean_grpcio_all() {

Loading…
Cancel
Save