Enable pip caching on Jenkins slaves

pull/3638/head
Masood Malekghassemi 9 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`
cd -
# Ensure existence of ccache directory
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
git branch -f jenkins-docker
@ -57,9 +62,11 @@ docker run \
-e "config=$config" \
-e "arch=$arch" \
-e CCACHE_DIR=/tmp/ccache \
-e XDG_CACHE_HOME=/tmp/xdg-cache-home \
-i $TTY_FLAG \
-v "$git_root:/var/local/jenkins/grpc" \
-v /tmp/ccache:/tmp/ccache \
-v /tmp/xdg-cache-home:/tmp/xdg-cache-home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
-w /var/local/git/grpc \

@ -36,6 +36,10 @@ set -e
export CONFIG=$config
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
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 \
python-all-dev \
python3-all-dev \
python-pip \
python-virtualenv
python-pip
# 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
# For sanity test

@ -39,9 +39,6 @@ GRPCIO=$ROOT/src/python/grpcio
GRPCIO_TEST=$ROOT/src/python/grpcio_test
GRPCIO_HEALTH_CHECKING=$ROOT/src/python/grpcio_health_checking
#
# Dependency steps.
#
install_grpcio_deps() {
cd $GRPCIO
pip install -r requirements.txt
@ -50,14 +47,7 @@ install_grpcio_test_deps() {
cd $GRPCIO_TEST
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() {
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() {
pip install $GRPCIO_HEALTH_CHECKING
}
#
# End install steps.
#
# Cleans the environment of previous installations
clean_grpcio_all() {

Loading…
Cancel
Save