Rebuild python docker image (#5475)
* Rebuild python docker image * Update docker image * Change call to build_and_run_docker.sh * Set up python tests for different versions * Fix commentspull/5495/head
parent
6dc1d4353f
commit
4dec4f9371
40 changed files with 635 additions and 0 deletions
@ -0,0 +1,39 @@ |
||||
FROM debian:jessie |
||||
|
||||
# Install dependencies. We start with the basic ones require to build protoc |
||||
# and the C++ build |
||||
RUN apt-get update && apt-get install -y \ |
||||
autoconf \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
bzip2 \ |
||||
ccache \ |
||||
curl \ |
||||
gcc \ |
||||
git \ |
||||
libc6 \ |
||||
libc6-dbg \ |
||||
libc6-dev \ |
||||
libgtest-dev \ |
||||
libtool \ |
||||
make \ |
||||
parallel \ |
||||
time \ |
||||
wget \ |
||||
&& apt-get clean |
||||
|
||||
# Install python dependencies |
||||
RUN apt-get update && apt-get install -y \ |
||||
python-setuptools \ |
||||
python-all-dev \ |
||||
python3-all-dev \ |
||||
python-pip |
||||
|
||||
# Install Python packages from PyPI |
||||
RUN pip install --upgrade pip==10.0.1 |
||||
RUN pip install virtualenv |
||||
RUN pip install six==1.10.0 twisted==17.5.0 |
||||
|
||||
# Install pip and virtualenv for Python 3.4 |
||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 |
||||
RUN python3.4 -m pip install virtualenv |
@ -0,0 +1,47 @@ |
||||
FROM debian:stretch |
||||
|
||||
# Install dependencies. We start with the basic ones require to build protoc |
||||
# and the C++ build |
||||
RUN apt-get update && apt-get install -y \ |
||||
autoconf \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
bzip2 \ |
||||
ccache \ |
||||
curl \ |
||||
gcc \ |
||||
git \ |
||||
libc6 \ |
||||
libc6-dbg \ |
||||
libc6-dev \ |
||||
libgtest-dev \ |
||||
libtool \ |
||||
make \ |
||||
parallel \ |
||||
time \ |
||||
wget \ |
||||
&& apt-get clean |
||||
|
||||
# Install Python 2.7 |
||||
RUN apt-get update && apt-get install -y python2.7 python-all-dev |
||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 |
||||
|
||||
# Install python dependencies |
||||
RUN apt-get update && apt-get install -y \ |
||||
python-setuptools \ |
||||
python-pip |
||||
|
||||
# Add Debian 'testing' repository |
||||
RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list |
||||
RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local |
||||
|
||||
# Install Python3 |
||||
RUN apt-get update && apt-get -t testing install -y \ |
||||
python3.5 \ |
||||
python3.6 \ |
||||
python3.7 \ |
||||
python3-all-dev |
||||
|
||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 |
||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 |
||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python27" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python27_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python33" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python33_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python34" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_jessie |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python34_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python35" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python35_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python36" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python36_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python37" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERHUB_ORGANIZATION=protobuftesting |
||||
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/python_stretch |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="python37_cpp" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_cpp/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
Loading…
Reference in new issue