Big dockerimage cleanup (#28010)

* use python3 for running run_tests.py

* update dockerimage templates

* update dockerfiles

* fix bazel build in the bazel docker image

* adjust run_tests.py to renamed php docker image

* add previously forgotten new templates

* add missing images

* php dockerfile remove whitespaces

* restore accidentally deleted binder_transport_apk image

* add back cxx_buster_x64 image

* add back php zts stretch image

* add back binder_transport_apk image

* fix bazel builds by temporarily adding back python2-dev

* check_redundant_namespace_qualifiers.py to python3

* fix clang-tidy

* make run_tests_matrix.py use python3

* fixup cxx_debian9 templates

* regenerate

* stop running dummy grpc-node tests for protobuf-at-head and boringssl-at-head jobs

* remove cxx_buster image (replaced by cxx_debian9)

* add back python_alpine_x64 image

* run_tests_in_workspace using python3

* unbreak python macos basictests by partially reverting run_tests_matrix to python2

* fix cxx_gcc_X docker images
pull/28246/head
Jan Tattermusch 3 years ago committed by GitHub
parent ae65bb8f7f
commit 205d7569ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 52
      templates/tools/dockerfile/apt_get_basic.include
  2. 35
      templates/tools/dockerfile/apt_get_basic_bullseye.include
  3. 23
      templates/tools/dockerfile/apt_get_pyenv.include
  4. 3
      templates/tools/dockerfile/apt_get_python_27.include
  5. 4
      templates/tools/dockerfile/compile_python_36.include
  6. 4
      templates/tools/dockerfile/compile_python_38.include
  7. 2
      templates/tools/dockerfile/cxx_deps.include
  8. 1
      templates/tools/dockerfile/debian_8_header.include
  9. 1
      templates/tools/dockerfile/debian_9_header.include
  10. 5
      templates/tools/dockerfile/gcp_api_libraries.include
  11. 44
      templates/tools/dockerfile/grpc_artifact_android_ndk/Dockerfile.template
  12. 2
      templates/tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile.template
  13. 2
      templates/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile.template
  14. 4
      templates/tools/dockerfile/interoptest/grpc_interop_cxx/Dockerfile.template
  15. 2
      templates/tools/dockerfile/interoptest/grpc_interop_go/Dockerfile.template
  16. 2
      templates/tools/dockerfile/interoptest/grpc_interop_go1.11/Dockerfile.template
  17. 2
      templates/tools/dockerfile/interoptest/grpc_interop_go1.16/Dockerfile.template
  18. 2
      templates/tools/dockerfile/interoptest/grpc_interop_go1.8/Dockerfile.template
  19. 2
      templates/tools/dockerfile/interoptest/grpc_interop_http2/Dockerfile.template
  20. 2
      templates/tools/dockerfile/interoptest/grpc_interop_java/Dockerfile.include
  21. 4
      templates/tools/dockerfile/interoptest/grpc_interop_node/Dockerfile.template
  22. 2
      templates/tools/dockerfile/interoptest/grpc_interop_nodepurejs/Dockerfile.template
  23. 4
      templates/tools/dockerfile/interoptest/grpc_interop_php7/Dockerfile.template
  24. 6
      templates/tools/dockerfile/interoptest/grpc_interop_python/Dockerfile.template
  25. 6
      templates/tools/dockerfile/interoptest/grpc_interop_pythonasyncio/Dockerfile.template
  26. 2
      templates/tools/dockerfile/interoptest/grpc_interop_ruby/Dockerfile.template
  27. 41
      templates/tools/dockerfile/oss_fuzz_base.include
  28. 17
      templates/tools/dockerfile/php7_deps.include
  29. 3
      templates/tools/dockerfile/php_common_deps.include
  30. 8
      templates/tools/dockerfile/php_valgrind.include
  31. 6
      templates/tools/dockerfile/python_bullseye.include
  32. 4
      templates/tools/dockerfile/python_bullseye_base.include
  33. 53
      templates/tools/dockerfile/python_debian11.include
  34. 14
      templates/tools/dockerfile/python_deps.include
  35. 2
      templates/tools/dockerfile/python_stretch_base.include
  36. 21
      templates/tools/dockerfile/run_tests_python_deps.include
  37. 37
      templates/tools/dockerfile/test/bazel/Dockerfile.template
  38. 40
      templates/tools/dockerfile/test/binder_transport_apk/Dockerfile.template
  39. 3
      templates/tools/dockerfile/test/csharp_buster_x64/Dockerfile.template
  40. 24
      templates/tools/dockerfile/test/cxx_alpine_x64/Dockerfile.template
  41. 7
      templates/tools/dockerfile/test/cxx_clang_12_x64/Dockerfile.template
  42. 7
      templates/tools/dockerfile/test/cxx_clang_4_x64/Dockerfile.template
  43. 3
      templates/tools/dockerfile/test/cxx_debian10_openssl102_x64/Dockerfile.template
  44. 6
      templates/tools/dockerfile/test/cxx_debian10_x64/Dockerfile.template
  45. 3
      templates/tools/dockerfile/test/cxx_debian9_x64/Dockerfile.template
  46. 3
      templates/tools/dockerfile/test/cxx_debian9_x86/Dockerfile.template
  47. 8
      templates/tools/dockerfile/test/cxx_gcc_11_x64/Dockerfile.template
  48. 7
      templates/tools/dockerfile/test/cxx_gcc_4.9_x64/Dockerfile.template
  49. 3
      templates/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile.template
  50. 40
      templates/tools/dockerfile/test/php73_zts_stretch_x64/Dockerfile.template
  51. 6
      templates/tools/dockerfile/test/php7_stretch_x64/Dockerfile.template
  52. 49
      templates/tools/dockerfile/test/python_alpine_x64/Dockerfile.template
  53. 17
      templates/tools/dockerfile/test/python_stretch_2.7_x64/Dockerfile.template
  54. 4
      templates/tools/dockerfile/test/python_stretch_3.5_x64/Dockerfile.template
  55. 6
      templates/tools/dockerfile/test/python_stretch_3.6_x64/Dockerfile.template
  56. 6
      templates/tools/dockerfile/test/python_stretch_3.7_x64/Dockerfile.template
  57. 6
      templates/tools/dockerfile/test/python_stretch_3.8_x64/Dockerfile.template
  58. 4
      templates/tools/dockerfile/test/python_stretch_default_x64/Dockerfile.template
  59. 3
      templates/tools/dockerfile/test/ruby_buster_x64/Dockerfile.template
  60. 26
      templates/tools/dockerfile/test/sanity/Dockerfile.template
  61. 2
      tools/distrib/check_redundant_namespace_qualifiers.py
  62. 2
      tools/dockerfile/distribtest/cpp_jessie_x64/Dockerfile
  63. 2
      tools/dockerfile/distribtest/python_arch_x64/Dockerfile
  64. 2
      tools/dockerfile/distribtest/python_buster_x64/Dockerfile
  65. 2
      tools/dockerfile/distribtest/python_buster_x86/Dockerfile
  66. 4
      tools/dockerfile/distribtest/python_dev_alpine3.7_x64/Dockerfile
  67. 2
      tools/dockerfile/distribtest/python_dev_arch_x64/Dockerfile
  68. 2
      tools/dockerfile/distribtest/python_dev_buster_x64/Dockerfile
  69. 2
      tools/dockerfile/distribtest/python_dev_buster_x86/Dockerfile
  70. 4
      tools/dockerfile/distribtest/python_dev_centos7_x64/Dockerfile
  71. 2
      tools/dockerfile/distribtest/python_dev_fedora34_x64/Dockerfile
  72. 2
      tools/dockerfile/distribtest/python_dev_ubuntu1604_x64/Dockerfile
  73. 2
      tools/dockerfile/distribtest/python_dev_ubuntu1804_x64/Dockerfile
  74. 2
      tools/dockerfile/distribtest/python_fedora34_x64/Dockerfile
  75. 2
      tools/dockerfile/distribtest/python_opensuse_x64/Dockerfile
  76. 2
      tools/dockerfile/distribtest/python_python38_buster_aarch64/Dockerfile
  77. 2
      tools/dockerfile/distribtest/python_ubuntu1604_x64/Dockerfile
  78. 2
      tools/dockerfile/distribtest/python_ubuntu1804_x64/Dockerfile
  79. 104
      tools/dockerfile/grpc_artifact_android_ndk/Dockerfile
  80. 9
      tools/dockerfile/grpc_artifact_centos6_x64/Dockerfile
  81. 9
      tools/dockerfile/grpc_artifact_centos6_x86/Dockerfile
  82. 2
      tools/dockerfile/grpc_artifact_python_linux_armv7/install_python_for_wheel_crosscompilation.sh
  83. 46
      tools/dockerfile/grpc_clang/Dockerfile
  84. 85
      tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile
  85. 85
      tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile
  86. 86
      tools/dockerfile/interoptest/grpc_interop_cxx/Dockerfile
  87. 33
      tools/dockerfile/interoptest/grpc_interop_go/Dockerfile
  88. 33
      tools/dockerfile/interoptest/grpc_interop_go1.11/Dockerfile
  89. 33
      tools/dockerfile/interoptest/grpc_interop_go1.16/Dockerfile
  90. 33
      tools/dockerfile/interoptest/grpc_interop_go1.8/Dockerfile
  91. 16
      tools/dockerfile/interoptest/grpc_interop_http2/Dockerfile
  92. 3
      tools/dockerfile/interoptest/grpc_interop_java/Dockerfile
  93. 86
      tools/dockerfile/interoptest/grpc_interop_node/Dockerfile
  94. 53
      tools/dockerfile/interoptest/grpc_interop_nodepurejs/Dockerfile
  95. 85
      tools/dockerfile/interoptest/grpc_interop_php7/Dockerfile
  96. 67
      tools/dockerfile/interoptest/grpc_interop_python/Dockerfile
  97. 67
      tools/dockerfile/interoptest/grpc_interop_pythonasyncio/Dockerfile
  98. 85
      tools/dockerfile/interoptest/grpc_interop_ruby/Dockerfile
  99. 16
      tools/dockerfile/test/bazel/Dockerfile
  100. 69
      tools/dockerfile/test/binder_transport_apk/Dockerfile
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,34 +1,40 @@
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y ${'\\'}
autoconf ${'\\'}
autotools-dev ${'\\'}
build-essential ${'\\'}
bzip2 ${'\\'}
ccache ${'\\'}
curl ${'\\'}
dnsutils ${'\\'}
autoconf ${'\\'}
libtool ${'\\'}
pkg-config ${'\\'}
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y ${'\\'}
gcc ${'\\'}
gcc-multilib ${'\\'}
git ${'\\'}
golang ${'\\'}
gyp ${'\\'}
lcov ${'\\'}
g++ ${'\\'}
g++-multilib ${'\\'}
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y ${'\\'}
libc6 ${'\\'}
libc6-dbg ${'\\'}
libc6-dev ${'\\'}
libgtest-dev ${'\\'}
libtool ${'\\'}
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y ${'\\'}
bzip2 ${'\\'}
curl ${'\\'}
dnsutils ${'\\'}
git ${'\\'}
lcov ${'\\'}
make ${'\\'}
perl ${'\\'}
strace ${'\\'}
python-dev ${'\\'}
python-setuptools ${'\\'}
python-yaml ${'\\'}
telnet ${'\\'}
time ${'\\'}
unzip ${'\\'}
wget ${'\\'}
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip ${'\\'}
&& apt-get clean

@ -1,35 +0,0 @@
# Install Git and basic packages.
RUN apt-get update && apt-get install -y ${'\\'}
autoconf ${'\\'}
autotools-dev ${'\\'}
build-essential ${'\\'}
bzip2 ${'\\'}
ccache ${'\\'}
curl ${'\\'}
dnsutils ${'\\'}
gcc ${'\\'}
gcc-multilib ${'\\'}
git ${'\\'}
golang ${'\\'}
gyp ${'\\'}
lcov ${'\\'}
libc6 ${'\\'}
libc6-dbg ${'\\'}
libc6-dev ${'\\'}
libgtest-dev ${'\\'}
libtool ${'\\'}
make ${'\\'}
perl ${'\\'}
strace ${'\\'}
python3-dev ${'\\'}
python3-setuptools ${'\\'}
python3-yaml ${'\\'}
telnet ${'\\'}
unzip ${'\\'}
wget ${'\\'}
zip && ${'\\'}
apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean

@ -1,23 +0,0 @@
# Install dependencies for pyenv
RUN apt-get update && apt-get install -y ${'\\'}
libbz2-dev ${'\\'}
libncurses5-dev ${'\\'}
libncursesw5-dev ${'\\'}
libreadline-dev ${'\\'}
libsqlite3-dev ${'\\'}
libssl-dev ${'\\'}
llvm ${'\\'}
mercurial ${'\\'}
zlib1g-dev && apt-get clean
# Install Pyenv and dev Python versions 3.{5,6,7}
RUN curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
ENV PATH /root/.pyenv/bin:$PATH
RUN eval "$(pyenv init -)"
RUN eval "$(pyenv virtualenv-init -)"
RUN pyenv update
RUN pyenv install 3.5-dev
RUN pyenv install 3.6-dev
RUN pyenv install 3.7-dev
RUN pyenv install pypy-5.3.1
RUN pyenv local 3.5-dev 3.6-dev 3.7-dev pypy-5.3.1

@ -1,3 +0,0 @@
# Install Python 2.7
RUN apt-get update && apt-get install -y python2.7 python-all-dev
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7

@ -1,8 +1,8 @@
#=================
# Compile CPython 3.6.9 from source
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev
RUN apt-get update && apt-get install -y jq build-essential libffi-dev
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev && apt-get clean
RUN apt-get update && apt-get install -y jq build-essential libffi-dev && apt-get clean
RUN cd /tmp && ${'\\'}
wget -q https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz && ${'\\'}

@ -1,8 +1,8 @@
#=================
# Compile CPython 3.8.0b4 from source
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev
RUN apt-get update && apt-get install -y jq build-essential libffi-dev
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev && apt-get clean
RUN apt-get update && apt-get install -y jq build-essential libffi-dev && apt-get clean
RUN cd /tmp && ${'\\'}
wget -q https://www.python.org/ftp/python/3.8.0/Python-3.8.0b4.tgz && ${'\\'}

@ -1,3 +1,3 @@
#=================
# C++ dependencies
RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean
RUN apt-get update && apt-get -y install libc++-dev clang && apt-get clean

@ -1,2 +1,3 @@
# Google Cloud platform API libraries
RUN pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0

@ -0,0 +1,44 @@
%YAML 1.2
--- |
# Copyright 2021 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:stretch
<%include file="../apt_get_basic.include"/>
<%include file="../run_tests_python_deps.include"/>
<%include file="../cmake.include"/>
<%include file="../run_tests_addons.include"/>
# Java required by Android SDK
RUN apt-get update && apt-get -y install openjdk-8-jdk && apt-get clean
# Install Android SDK
ENV ANDROID_SDK_VERSION 4333796
RUN mkdir -p /opt/android-sdk && cd /opt/android-sdk && \
wget -q https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_SDK_VERSION.zip && \
unzip -q sdk-tools-linux-$ANDROID_SDK_VERSION.zip && \
rm sdk-tools-linux-$ANDROID_SDK_VERSION.zip
ENV ANDROID_SDK_PATH /opt/android-sdk
# Install Android NDK and cmake using sdkmanager
RUN mkdir -p ~/.android && touch ~/.android/repositories.cfg
RUN yes | $ANDROID_SDK_PATH/tools/bin/sdkmanager --licenses # accept all licenses
RUN $ANDROID_SDK_PATH/tools/bin/sdkmanager ndk-bundle 'cmake;3.6.4111459'
ENV ANDROID_NDK_PATH $ANDROID_SDK_PATH/ndk-bundle
ENV ANDROID_SDK_CMAKE $ANDROID_SDK_PATH/cmake/3.6.4111459/bin/cmake
# Define the default command.
CMD ["bash"]

@ -17,7 +17,7 @@
FROM debian:buster
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../csharp_deps.include"/>
<%include file="../../csharp_dotnetcli_deps.include"/>
<%include file="../../run_tests_addons.include"/>

@ -17,7 +17,7 @@
FROM debian:buster
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../csharp_deps.include"/>
<%include file="../../csharp_dotnetcli_deps.include"/>
<%include file="../../run_tests_addons.include"/>

@ -14,10 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_8_header.include"/>
FROM debian:jessie
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake_jessie_backports.include"/>
<%include file="../../run_tests_addons.include"/>

@ -17,7 +17,7 @@
FROM golang:1.16
<%include file="../../go_path.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
# Define the default command.
CMD ["bash"]

@ -17,7 +17,7 @@
FROM golang:1.11
<%include file="../../go_path.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
# Define the default command.
CMD ["bash"]

@ -17,7 +17,7 @@
FROM golang:1.16
<%include file="../../go_path.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
# Define the default command.
CMD ["bash"]

@ -17,7 +17,7 @@
FROM golang:1.8
<%include file="../../go_path.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
# Define the default command.
CMD ["bash"]

@ -18,7 +18,7 @@
<%include file="../../go_path.include"/>
<%include file="../../python_deps.include"/>
RUN pip install twisted h2==2.6.1 hyper
RUN python3 -m pip install twisted h2==2.6.1 hyper
# Define the default command.
CMD ["bash"]

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_8_header.include"/>
FROM debian:jessie
RUN echo "deb http://archive.debian.org/debian/ jessie-backports main contrib non-free" > /etc/apt/sources.list.d/jessie-backports.list && ${'\\'}
echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until && ${'\\'}

@ -14,10 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_8_header.include"/>
FROM debian:jessie
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../node_deps.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.

@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_8_header.include"/>
FROM debian:jessie
<%include file="../../apt_get_basic.include"/>
<%include file="../../node_deps.include"/>

@ -14,8 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_9_header.include"/>
FROM debian:stretch
<%include file="../../apt_get_basic.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../php7_deps.include"/>
<%include file="../../run_tests_addons.include"/>
<%include file="../../php_common_deps.include"/>

@ -14,7 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_bullseye.include"/>
<%include file="../../python_bullseye_base.include"/>
RUN apt-get update && apt-get install -y python3 python3-all-dev python3-pip
RUN ln -s $(which python2) /usr/bin/python
RUN ln -s $(which python3) /usr/bin/python
<%include file="../../gcp_api_libraries.include"/>

@ -14,7 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_bullseye.include"/>
<%include file="../../python_bullseye_base.include"/>
RUN apt-get update && apt-get install -y python3 python3-pip python3-all-dev
RUN ln -s $(which python2) /usr/bin/python
RUN ln -s $(which python3) /usr/bin/python
<%include file="../../gcp_api_libraries.include"/>

@ -17,7 +17,7 @@
FROM debian:buster
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../ruby_deps.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.

@ -0,0 +1,41 @@
# Pinned version of the base image is used to avoid regressions caused
# by rebuilding of this docker image. To see available versions, you can run
# "gcloud container images list-tags gcr.io/oss-fuzz-base/base-builder"
# Image(c7f1523ebd92) is built on Jul 29, 2021
FROM gcr.io/oss-fuzz-base/base-builder@sha256:c7f1523ebd9234b9ff57e5240f8c06569143373be019c92f1e6df18a1e048f37
# -------------------------- WARNING --------------------------------------
# If you are making changes to this file, consider changing
# https://github.com/google/oss-fuzz/blob/master/projects/grpc/Dockerfile
# accordingly.
# -------------------------------------------------------------------------
# Install basic packages and Bazel dependencies.
RUN apt-get update && apt-get install -y software-properties-common python-software-properties
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update && apt-get -y install ${'\\'}
autoconf ${'\\'}
build-essential ${'\\'}
curl ${'\\'}
wget ${'\\'}
libtool ${'\\'}
make ${'\\'}
openjdk-8-jdk ${'\\'}
vim
#====================
# Python dependencies
# Install dependencies
# TODO(jtattermusch): This installs python3.5. Is it even needed
# when we install python3.6 in the next step?
RUN apt-get update && apt-get install -y ${'\\'}
python3-all-dev
<%include file="./compile_python_36.include"/>
# Python2's python.h still needs to be present in order for the bazel build
# to work.
# TODO(jtattermusch): remove once https://github.com/grpc/grpc/issues/28026
# is fixed.
RUN apt-get update && apt-get install -y python-all-dev python-setuptools

@ -1,28 +1,17 @@
#=================
# PHP7 dependencies
# Install Git and basic packages.
# PHP specific dependencies
RUN apt-get update && apt-get install -y ${'\\'}
autoconf ${'\\'}
automake ${'\\'}
build-essential ${'\\'}
ccache ${'\\'}
curl ${'\\'}
git ${'\\'}
libbison-dev ${'\\'}
libcurl4-openssl-dev ${'\\'}
libgmp-dev ${'\\'}
libgmp3-dev ${'\\'}
libssl-dev ${'\\'}
libtool ${'\\'}
libxml2-dev ${'\\'}
pkg-config ${'\\'}
re2c ${'\\'}
time ${'\\'}
unzip ${'\\'}
wget ${'\\'}
zip ${'\\'}
zlib1g-dev && apt-get clean
zlib1g-dev ${'\\'}
&& apt-get clean
# Compile PHP7 from source
RUN git clone https://github.com/php/php-src /var/local/git/php-src

@ -1,6 +1,3 @@
# Install composer
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
# Define the default command.
CMD ["bash"]

@ -1,5 +1,5 @@
#=================
# PHP Test dependencies
#=================
# PHP Test dependencies
RUN apt-get update && apt-get install -y ${'\\'}
valgrind
RUN apt-get update && apt-get install -y ${'\\'}
valgrind

@ -1,6 +0,0 @@
FROM debian:bullseye
<%include file="./apt_get_basic_bullseye.include"/>
<%include file="./apt_get_python_27.include"/>
<%include file="./gcp_api_libraries.include"/>
<%include file="./run_tests_addons.include"/>

@ -0,0 +1,4 @@
FROM debian:bullseye
<%include file="./apt_get_basic.include"/>
<%include file="./run_tests_addons.include"/>

@ -1,53 +0,0 @@
FROM debian:bullseye
# Install Git and basic packages.
RUN apt-get update && apt-get install -y ${'\\'}
autoconf ${'\\'}
autotools-dev ${'\\'}
build-essential ${'\\'}
bzip2 ${'\\'}
ccache ${'\\'}
curl ${'\\'}
dnsutils ${'\\'}
gcc ${'\\'}
gcc-multilib ${'\\'}
git ${'\\'}
golang ${'\\'}
gyp ${'\\'}
lcov ${'\\'}
libc6 ${'\\'}
libc6-dbg ${'\\'}
libc6-dev ${'\\'}
libgtest-dev ${'\\'}
libtool ${'\\'}
make ${'\\'}
perl ${'\\'}
strace ${'\\'}
telnet ${'\\'}
unzip ${'\\'}
wget ${'\\'}
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
# Install Python 3.7 from source (and installed as a default python3)
# (Bullseye comes with Python 3.9 which isn't supported by pytype yet)
RUN apt update && apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev ${'\\'}
libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev
RUN curl -O https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz && ${'\\'}
tar -xf Python-3.7.9.tar.xz && ${'\\'}
cd Python-3.7.9 && ${'\\'}
./configure && ${'\\'}
make -j 4 && ${'\\'}
make install
RUN curl https://bootstrap.pypa.io/get-pip.py | python3
# Install Python 2.7
RUN apt-get update && apt-get install -y python2 python2-dev
RUN ln -s /usr/bin/python2 /usr/bin/python
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2
<%include file="./gcp_api_libraries.include"/>
<%include file="./run_tests_addons.include"/>

@ -1,15 +1,11 @@
#====================
# Python dependencies
# Python dependencies to run tools/run_tests scripts
# Install dependencies
RUN apt-get update && apt-get install -y ${'\\'}
python-all-dev ${'\\'}
python3-all-dev ${'\\'}
python-setuptools
RUN apt-get update && apt-get install -y python3-all-dev python3-pip
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
RUN python3 -m pip install --upgrade pip==19.3.1
RUN python3 -m pip install virtualenv==16.7.9
RUN python3 -m pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0

@ -1,8 +1,6 @@
FROM debian:stretch
<%include file="./apt_get_basic.include"/>
<%include file="./apt_get_python_27.include"/>
<%include file="./gcp_api_libraries.include"/>
# Add Debian 'buster' repository, we will need it for installing newer versions of python
RUN echo 'deb http://ftp.de.debian.org/debian buster main' >> /etc/apt/sources.list
RUN echo 'APT::Default-Release "stretch";' | tee -a /etc/apt/apt.conf.d/00local

@ -0,0 +1,21 @@
#====================
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y ${'\\'}
python3 ${'\\'}
python3-pip ${'\\'}
python3-setuptools ${'\\'}
python3-yaml ${'\\'}
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
<%include file="./gcp_api_libraries.include"/>

@ -14,42 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# Pinned version of the base image is used to avoid regressions caused
# by rebuilding of this docker image. To see available versions, you can run
# "gcloud container images list-tags gcr.io/oss-fuzz-base/base-builder"
# Image(c7f1523ebd92) is built on Jul 29, 2021
FROM gcr.io/oss-fuzz-base/base-builder@sha256:c7f1523ebd9234b9ff57e5240f8c06569143373be019c92f1e6df18a1e048f37
# -------------------------- WARNING --------------------------------------
# If you are making changes to this file, consider changing
# https://github.com/google/oss-fuzz/blob/master/projects/grpc/Dockerfile
# accordingly.
# -------------------------------------------------------------------------
# Install basic packages and Bazel dependencies.
RUN apt-get update && apt-get install -y software-properties-common python-software-properties
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update && apt-get -y install ${'\\'}
autoconf ${'\\'}
build-essential ${'\\'}
curl ${'\\'}
wget ${'\\'}
libtool ${'\\'}
make ${'\\'}
openjdk-8-jdk ${'\\'}
vim
#====================
# Python dependencies
# Install dependencies
RUN apt-get update && apt-get install -y ${'\\'}
python-all-dev ${'\\'}
python3-all-dev ${'\\'}
python-setuptools
<%include file="../../compile_python_36.include"/>
<%include file="../../oss_fuzz_base.include"/>
<%include file="../../bazel.include"/>
RUN mkdir -p /var/local/jenkins

@ -0,0 +1,40 @@
%YAML 1.2
--- |
# Copyright 2021 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../oss_fuzz_base.include"/>
<%include file="../../bazel.include"/>
#========================
# Android SDK/NDK installation
ENV SDK_ROOT=/opt/android-sdk
RUN mkdir -p $SDK_ROOT
RUN wget -O cmd.zip dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip && \
unzip cmd.zip && rm cmd.zip && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'tools' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'platform-tools' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'build-tools;30.0.3' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'platforms;android-29' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'ndk-bundle' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'ndk;21.4.7075529'
# Set environment variables for Bazel rules
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_NDK_HOME=/opt/android-sdk/ndk/21.4.7075529
RUN mkdir -p /var/local/jenkins
# Define the default command.
CMD ["bash"]

@ -17,8 +17,7 @@
FROM debian:buster
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../csharp_deps.include"/>
<%include file="../../csharp_dotnetcli_deps.include"/>
<%include file="../../run_tests_addons.include"/>

@ -32,22 +32,26 @@
make ${'\\'}
perl ${'\\'}
strace ${'\\'}
python2-dev ${'\\'}
py2-pip ${'\\'}
python3 ${'\\'}
py3-pip ${'\\'}
unzip ${'\\'}
wget ${'\\'}
zip
# Install Python packages from PyPI
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
RUN pip install --upgrade --ignore-installed PyYAML==5.4.1 --user
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# Google Cloud platform API libraries
RUN pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
RUN python3 -m pip install --upgrade --ignore-installed PyYAML==5.4.1 --user
<%include file="../../run_tests_addons.include"/>
# Define the default command.
CMD ["bash"]

@ -16,11 +16,8 @@
FROM silkeh/clang:12
RUN apt-get update && apt-get install -y build-essential curl git golang time wget zip
<%include file="../../python_deps.include"/>
RUN pip install PyYAML==5.4.1
RUN apt-get install python-is-python2
<%include file="../../gcp_api_libraries.include"/>
RUN apt-get update && apt-get install -y build-essential curl git time wget zip && apt-get clean
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -16,11 +16,8 @@
FROM silkeh/clang:4
RUN apt-get update && apt-get install -y build-essential curl git golang time wget zip
<%include file="../../python_deps.include"/>
RUN pip install PyYAML==5.4.1
RUN apt-get install python-is-python2
<%include file="../../gcp_api_libraries.include"/>
RUN apt-get update && apt-get install -y build-essential curl git time wget zip && apt-get clean
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -18,8 +18,7 @@
RUN apt-get --allow-releaseinfo-change update
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -17,12 +17,12 @@
FROM debian:10
RUN apt-get --allow-releaseinfo-change update
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.
CMD ["bash"]

@ -17,8 +17,7 @@
FROM debian:9
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -17,8 +17,7 @@
FROM i386/debian:9
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -16,12 +16,8 @@
FROM gcc:11
RUN apt-get update && apt-get install -y curl git golang time wget zip
<%include file="../../python_deps.include"/>
RUN pip install PyYAML==5.4.1
RUN apt-get install python-is-python2
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../cxx_deps.include"/>
RUN apt-get update && apt-get install -y curl git time wget zip && apt-get clean
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -16,11 +16,10 @@
FROM gcc:4.9
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
RUN apt-get update && apt-get install -y curl git time wget zip && apt-get clean
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cmake_jessie_backports.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.
CMD ["bash"]

@ -17,8 +17,7 @@
FROM ubuntu:16.04
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -1,6 +1,6 @@
%YAML 1.2
--- |
# Copyright 2015 gRPC authors.
# Copyright 2016 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -13,27 +13,27 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_8_header.include"/>
<%include file="../../apt_get_basic.include"/>
# Install Electron apt dependencies
FROM php:7.3-zts-stretch
RUN apt-get update && apt-get install -y ${'\\'}
libasound2 ${'\\'}
libgconf-2-4 ${'\\'}
libgtk2.0-0 ${'\\'}
libnss3 ${'\\'}
libxss1 ${'\\'}
libxtst6 ${'\\'}
xvfb
autoconf automake build-essential git libtool curl ${'\\'}
zlib1g-dev ${'\\'}
&& apt-get clean
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../node_deps.include"/>
<%include file="../../run_tests_addons.include"/>
# Install Mako to generate files in grpc/grpc-node
RUN pip install Mako
# install php pthreads from source
# TODO(jtattermusch): is this really needed?
# See https://github.com/grpc/grpc/pull/23056
WORKDIR /tmp
RUN git clone https://github.com/krakjoe/pthreads
RUN cd pthreads && ${'\\'}
phpize && ${'\\'}
./configure && ${'\\'}
make && ${'\\'}
make install
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../php_common_deps.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.
CMD ["bash"]

@ -14,11 +14,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../debian_9_header.include"/>
FROM debian:stretch
<%include file="../../apt_get_basic.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../php7_deps.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../php_valgrind.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.

@ -0,0 +1,49 @@
%YAML 1.2
--- |
# Copyright 2018 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM alpine:3.11
# Install Git and basic packages.
RUN apk update && apk add \
autoconf \
automake \
bzip2 \
build-base \
cmake \
ccache \
curl \
gcc \
git \
libtool \
linux-headers \
make \
perl \
strace \
python3-dev \
py3-pip \
unzip \
wget \
zip
RUN ln -s /usr/bin/pip3 /usr/bin/pip
RUN ln -s /usr/bin/python3 /usr/bin/python
# Install Python packages from PyPI
RUN python3 -m pip install --upgrade pip==19.3.1
RUN python3 -m pip install virtualenv
RUN python3 -m pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0
<%include file="../../gcp_api_libraries.include"/>

@ -1,17 +0,0 @@
%YAML 1.2
--- |
# Copyright 2018 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>

@ -14,7 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>
<%include file="../../python_stretch_base.include"/>
RUN apt-get update && apt-get install -y python3.5 python3-all-dev
RUN curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3.5
<%include file="../../gcp_api_libraries.include"/>

@ -14,5 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>
<%include file="../../python_stretch_base.include"/>
<%include file="../../compile_python_36.include"/>
RUN ln -s $(which python3.6) /usr/bin/python3
<%include file="../../gcp_api_libraries.include"/>

@ -14,10 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>
<%include file="../../python_stretch_base.include"/>
RUN apt-get update && apt-get -t buster install -y python3.7 python3-all-dev
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7
# for Python test coverage reporting
RUN pip install coverage
RUN python3.7 -m pip install coverage
<%include file="../../gcp_api_libraries.include"/>

@ -15,5 +15,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>
<%include file="../../python_stretch_base.include"/>
<%include file="../../compile_python_38.include"/>
RUN ln -s $(which python3.8) /usr/bin/python3
<%include file="../../gcp_api_libraries.include"/>

@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_stretch.include"/>
<%include file="../../python_stretch_base.include"/>
<%include file="../../compile_python_36.include"/>
<%include file="../../compile_python_38.include"/>
@ -26,3 +26,5 @@
# for Python test coverage reporting
RUN python3.7 -m pip install coverage
<%include file="../../gcp_api_libraries.include"/>

@ -17,8 +17,7 @@
FROM debian:buster
<%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/>
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../ruby_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../run_tests_addons.include"/>

@ -14,9 +14,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
<%include file="../../python_debian11.include"/>
FROM debian:bullseye
<%include file="../../apt_get_basic.include"/>
<%include file="../../cxx_deps.include"/>
# Install Python 3.7 from source (and installed as a default python3)
# (Bullseye comes with Python 3.9 which isn't supported by pytype yet)
RUN apt update && apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev ${'\\'}
libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev
RUN curl -O https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz && ${'\\'}
tar -xf Python-3.7.9.tar.xz && ${'\\'}
cd Python-3.7.9 && ${'\\'}
./configure && ${'\\'}
make -j 4 && ${'\\'}
make install
RUN curl https://bootstrap.pypa.io/get-pip.py | python3
<%include file="../../gcp_api_libraries.include"/>
<%include file="../../run_tests_addons.include"/>
#========================
# Sanity test dependencies
@ -26,11 +43,13 @@
libtool ${"\\"}
curl ${"\\"}
shellcheck
RUN python2 -m pip install simplejson mako virtualenv==16.7.9 lxml
# otherwise clang-tidy will report missing <gtest/gtest.h> header
RUN apt-get update && apt-get install -y libgtest-dev && apt-get clean
RUN python3 -m pip install simplejson mako virtualenv==16.7.9 lxml six
# Upgrade Python's YAML library
RUN python2 -m pip install --upgrade --ignore-installed PyYAML==5.4.1 --user
RUN python3 -m pip install --upgrade --ignore-installed PyYAML==5.4.1 --user
# Install clang, clang-format, and clang-tidy
@ -38,7 +57,6 @@
ENV CLANG_FORMAT=clang-format-11
ENV CLANG_TIDY=clang-tidy-11
<%include file="../../bazel.include"/>
<%include file="../../buildifier.include"/>

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# Copyright 2021 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");

@ -28,8 +28,6 @@ RUN apt-get update && apt-get install -y \
pkg-config \
unzip && apt-get clean
RUN apt-get update && apt-get install -y golang && apt-get clean
RUN echo "deb http://archive.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list
RUN echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list

@ -18,4 +18,4 @@ RUN pacman --noconfirm -Syy
RUN pacman --noconfirm -S openssl
RUN pacman --noconfirm -S python
RUN pacman --noconfirm -S python-pip
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv

@ -15,4 +15,4 @@
FROM debian:buster
RUN apt-get update && apt-get install -y python3 python3-pip
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9

@ -16,7 +16,7 @@ FROM i386/debian:buster
RUN apt-get update && apt-get install -y python3 python3-pip
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9
# docker is running on a 64-bit machine, so we need to
# override "uname -m" to report i686 instead of x86_64, otherwise

@ -16,9 +16,9 @@ FROM alpine:3.11
RUN apk add --update build-base linux-headers python3 python3-dev py3-pip
RUN pip3 install --upgrade pip==19.3.1
RUN python3 -m pip install --upgrade pip==19.3.1
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv
# bash is required for our test script invocation
# ideally, we want to fix the invocation mechanism

@ -18,5 +18,5 @@ RUN pacman --noconfirm -Syy
RUN pacman --noconfirm -S openssl
RUN pacman --noconfirm -S python
RUN pacman --noconfirm -S python-pip
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv
RUN pacman --noconfirm -S base-devel

@ -15,7 +15,7 @@
FROM debian:buster
RUN apt-get update && apt-get install -y python3 python3-pip
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9
RUN apt-get install -y build-essential
RUN apt-get install -y python3-dev

@ -16,7 +16,7 @@ FROM i386/debian:buster
RUN apt-get update && apt-get install -y python3 python3-pip
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9
RUN apt-get install -y build-essential
RUN apt-get install -y python3-dev

@ -18,8 +18,8 @@ RUN yum install -y python3
RUN yum install -y python3-devel
RUN yum install -y epel-release
RUN yum install -y python3-pip
RUN pip3 install --upgrade pip==19.3.1
RUN pip3 install -U virtualenv
RUN python3 -m pip install --upgrade pip==19.3.1
RUN python3 -m pip install -U virtualenv
# The default gcc of CentOS 7 is gcc 4.8 which is older than gcc 4.9,
# the minimum supported gcc version for gRPC Core so let's upgrade to

@ -15,7 +15,7 @@
FROM fedora:34
RUN yum clean all && yum update -y && yum install -y python3 python3-pip
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9
RUN yum groupinstall -y "Development Tools"
RUN yum install -y redhat-rpm-config

@ -19,4 +19,4 @@ RUN apt-get update -y && apt-get install -y python3 python3-pip
RUN apt-get install -y build-essential
RUN apt-get install -y python3-dev
RUN pip3 install virtualenv==16.7.9
RUN python3 -m pip install virtualenv==16.7.9

@ -19,4 +19,4 @@ RUN apt-get update -y && apt-get install -y python3 python3-pip
RUN apt-get install -y build-essential
RUN apt-get install -y python3-dev
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv

@ -15,4 +15,4 @@
FROM fedora:34
RUN yum clean all && yum update -y && yum install -y python3 python3-pip
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv

@ -24,4 +24,4 @@ RUN zypper --non-interactive install which
# https://pypi.python.org/simple/
RUN zypper --non-interactive install ca-certificates-mozilla
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv

@ -15,4 +15,4 @@
# this an aarch64 image, qemu emulator will be used to run the tests
FROM arm64v8/python:3.8-buster
RUN pip install virtualenv
RUN python3 -m pip install virtualenv

@ -17,7 +17,7 @@ FROM ubuntu:16.04
RUN apt-get update -y && apt-get install -y python3 python3-pip
# Necessary to fix virtualenv compatibility problems with python2.7
RUN pip3 install --upgrade pip==19.3.1
RUN python3 -m pip install --upgrade pip==19.3.1
# Ubuntu's python-pip package installs pip to /usr/bin, whereas the upgraded
# pip lives at /usr/local/bin/pip. We'll use the absolute path for now, since

@ -16,4 +16,4 @@ FROM ubuntu:18.04
RUN apt-get update -y && apt-get install -y python3 python3-pip
RUN pip3 install virtualenv
RUN python3 -m pip install virtualenv

@ -1,4 +1,4 @@
# Copyright 2016 gRPC authors.
# Copyright 2021 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -12,62 +12,98 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# Docker file for building gRPC artifacts for Android.
FROM debian:stretch
FROM debian:sid
#=================
# Basic C core dependencies
RUN apt-get update && apt-get install -y debian-keyring && apt-key update
# Install Git and basic packages.
RUN apt-get update && apt-key update && apt-get install -y \
autoconf \
autotools-dev \
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
build-essential \
bzip2 \
clang \
curl \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
zip \
&& apt-get clean
#====================
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#=================
# Install cmake
# Note that this step should be only used for distributions that have new enough cmake to satisfy gRPC's cmake version requirement.
RUN apt-get update && apt-get install -y cmake && apt-get clean
RUN mkdir /var/local/jenkins
# golang needed to build BoringSSL with cmake
RUN apt-get update && apt-get install -y golang && apt-get clean
# Java required by Android SDK
RUN apt-get update && apt-get -y install openjdk-8-jdk && apt-get clean
# Install Android SDK
ENV ANDROID_SDK_VERSION 4333796
RUN mkdir -p /opt/android-sdk && cd /opt/android-sdk && \
wget -q https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_VERSION}.zip && \
unzip -q sdk-tools-linux-${ANDROID_SDK_VERSION}.zip && \
rm sdk-tools-linux-${ANDROID_SDK_VERSION}.zip
RUN mkdir -p /opt/android-sdk && cd /opt/android-sdk && wget -q https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_SDK_VERSION.zip && unzip -q sdk-tools-linux-$ANDROID_SDK_VERSION.zip && rm sdk-tools-linux-$ANDROID_SDK_VERSION.zip
ENV ANDROID_SDK_PATH /opt/android-sdk
# Install Android NDK and cmake using sdkmanager
RUN mkdir -p ~/.android && touch ~/.android/repositories.cfg
RUN yes | ${ANDROID_SDK_PATH}/tools/bin/sdkmanager --licenses # accept all licenses
RUN ${ANDROID_SDK_PATH}/tools/bin/sdkmanager ndk-bundle 'cmake;3.6.4111459'
ENV ANDROID_NDK_PATH ${ANDROID_SDK_PATH}/ndk-bundle
ENV ANDROID_SDK_CMAKE ${ANDROID_SDK_PATH}/cmake/3.6.4111459/bin/cmake
RUN mkdir /var/local/jenkins
RUN yes | $ANDROID_SDK_PATH/tools/bin/sdkmanager --licenses # accept all licenses
RUN $ANDROID_SDK_PATH/tools/bin/sdkmanager ndk-bundle 'cmake;3.6.4111459'
ENV ANDROID_NDK_PATH $ANDROID_SDK_PATH/ndk-bundle
ENV ANDROID_SDK_CMAKE $ANDROID_SDK_PATH/cmake/3.6.4111459/bin/cmake
# Define the default command.
CMD ["bash"]

@ -21,8 +21,7 @@
FROM dockcross/manylinux2010-x64:20210210-84c47e5
# Install essential packages.
RUN yum -y install golang strace
RUN yum -y install strace && yum clean all
##################
# Ruby dependencies
@ -30,7 +29,8 @@ RUN yum -y install golang strace
# Install rvm
RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import -
RUN curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
RUN \curl -sSL https://get.rvm.io | bash -s stable
# Use "--insecure" to avoid cert expiration error
RUN curl -sSL --insecure https://get.rvm.io | bash -s stable
# Install Ruby 2.6
RUN /bin/bash -l -c "rvm install ruby-2.6"
@ -40,9 +40,6 @@ RUN /bin/bash -l -c "echo 'export PATH=/usr/local/rvm/bin:$PATH' >> ~/.bashrc"
RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.6' >> ~/.bashrc"
RUN /bin/bash -l -c "gem install bundler"
# Clean yum
RUN yum clean all
# Create default work directory.
RUN mkdir /var/local/jenkins

@ -21,8 +21,7 @@
FROM dockcross/manylinux2010-x86
# Install essential packages.
RUN yum -y install golang strace
RUN yum -y install strace && yum clean all
##################
# Ruby dependencies
@ -30,7 +29,8 @@ RUN yum -y install golang strace
# Install rvm
RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import -
RUN curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
RUN \curl -sSL https://get.rvm.io | bash -s stable
# Use "--insecure" to avoid cert expiration error
RUN curl -sSL --insecure https://get.rvm.io | bash -s stable
# Install Ruby 2.6
RUN /bin/bash -l -c "rvm install ruby-2.6 --32"
@ -40,9 +40,6 @@ RUN /bin/bash -l -c "echo 'export PATH=/usr/local/rvm/bin:$PATH' >> ~/.bashrc"
RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.6' >> ~/.bashrc"
RUN /bin/bash -l -c "gem install bundler"
# Clean yum
RUN yum clean all
# Create default work directory.
RUN mkdir /var/local/jenkins

@ -44,4 +44,4 @@ popd
rm -rf "Python-${PYTHON_VERSION}"
# install cython and wheel
"${PYTHON_PREFIX}/bin/pip3" install --upgrade cython wheel
"${PYTHON_PREFIX}/bin/python3" -m pip install --upgrade cython wheel

@ -1,46 +0,0 @@
# Copyright 2015 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
cmake \
g++ \
gcc \
git \
make \
python \
&& apt-get clean
RUN git clone -b release_36 http://llvm.org/git/llvm.git
RUN git clone -b release_36 http://llvm.org/git/clang.git
RUN git clone -b release_36 http://llvm.org/git/compiler-rt.git
RUN git clone -b release_36 http://llvm.org/git/clang-tools-extra.git
RUN git clone -b release_36 http://llvm.org/git/libcxx.git
RUN git clone -b release_36 http://llvm.org/git/libcxxabi.git
RUN mv clang llvm/tools
RUN mv compiler-rt llvm/projects
RUN mv clang-tools-extra llvm/tools/clang/tools
RUN mv libcxx llvm/projects
RUN mv libcxxabi llvm/projects
RUN mkdir llvm-build
RUN cd llvm-build && cmake \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DLLVM_TARGETS_TO_BUILD:STRING=X86 \
../llvm
RUN make -C llvm-build && make -C llvm-build install && rm -rf llvm-build
CMD ["bash"]

@ -14,56 +14,71 @@
FROM debian:buster
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#================
# C# dependencies

@ -14,56 +14,71 @@
FROM debian:buster
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#================
# C# dependencies

@ -12,63 +12,77 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:8
FROM debian:jessie
#=================
# Basic C core dependencies
# Install Git and basic packages.
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
#=================
# C++ dependencies
RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean
RUN apt-get update && apt-get -y install libc++-dev clang && apt-get clean
#=================
# Use cmake 3.6 from jessie-backports

@ -18,20 +18,29 @@ FROM golang:1.16
RUN ln -s /usr/local/go/bin/go /usr/local/bin
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Define the default command.
CMD ["bash"]

@ -18,20 +18,29 @@ FROM golang:1.11
RUN ln -s /usr/local/go/bin/go /usr/local/bin
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Define the default command.
CMD ["bash"]

@ -18,20 +18,29 @@ FROM golang:1.16
RUN ln -s /usr/local/go/bin/go /usr/local/bin
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Define the default command.
CMD ["bash"]

@ -18,20 +18,29 @@ FROM golang:1.8
RUN ln -s /usr/local/go/bin/go /usr/local/bin
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
# Define the default command.
CMD ["bash"]

@ -18,22 +18,18 @@ FROM golang:latest
RUN ln -s /usr/local/go/bin/go /usr/local/bin
#====================
# Python dependencies
# Python dependencies to run tools/run_tests scripts
# Install dependencies
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
RUN apt-get update && apt-get install -y python3-all-dev python3-pip
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
RUN python3 -m pip install --upgrade pip==19.3.1
RUN python3 -m pip install virtualenv==16.7.9
RUN python3 -m pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
RUN pip install twisted h2==2.6.1 hyper
RUN python3 -m pip install twisted h2==2.6.1 hyper
# Define the default command.
CMD ["bash"]

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:8
FROM debian:jessie
RUN echo "deb http://archive.debian.org/debian/ jessie-backports main contrib non-free" > /etc/apt/sources.list.d/jessie-backports.list && \
echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until && \

@ -12,59 +12,73 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:8
FROM debian:jessie
#=================
# Basic C core dependencies
# Install Git and basic packages.
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#==================
# Node dependencies

@ -12,43 +12,48 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:8
FROM debian:jessie
#=================
# Basic C core dependencies
# Install Git and basic packages.
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#==================
# Node dependencies

@ -12,34 +12,88 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM debian:9
FROM debian:stretch
#=================
# PHP7 dependencies
# Basic C core dependencies
# Install Git and basic packages.
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
automake \
build-essential \
ccache \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
strace \
time \
unzip \
wget \
zip \
&& apt-get clean
#====================
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#=================
# PHP7 dependencies
# PHP specific dependencies
RUN apt-get update && apt-get install -y \
libbison-dev \
libcurl4-openssl-dev \
libgmp-dev \
libgmp3-dev \
libssl-dev \
libtool \
libxml2-dev \
pkg-config \
re2c \
time \
unzip \
wget \
zip \
zlib1g-dev && apt-get clean
zlib1g-dev \
&& apt-get clean
# Compile PHP7 from source
RUN git clone https://github.com/php/php-src /var/local/git/php-src
@ -60,6 +114,3 @@ RUN mkdir /var/local/jenkins
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
# Define the default command.
CMD ["bash"]

@ -14,48 +14,46 @@
FROM debian:bullseye
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python3-dev \
python3-setuptools \
python3-yaml \
telnet \
time \
unzip \
wget \
zip && \
apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && 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/pip/2.7/get-pip.py | python2.7
# Google Cloud platform API libraries
RUN pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
zip \
&& apt-get clean
RUN mkdir /var/local/jenkins
@ -63,4 +61,9 @@ RUN mkdir /var/local/jenkins
RUN apt-get update && apt-get install -y python3 python3-all-dev python3-pip
RUN ln -s $(which python2) /usr/bin/python
RUN ln -s $(which python3) /usr/bin/python
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0

@ -14,48 +14,46 @@
FROM debian:bullseye
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python3-dev \
python3-setuptools \
python3-yaml \
telnet \
time \
unzip \
wget \
zip && \
apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && 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/pip/2.7/get-pip.py | python2.7
# Google Cloud platform API libraries
RUN pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
zip \
&& apt-get clean
RUN mkdir /var/local/jenkins
@ -63,4 +61,9 @@ RUN mkdir /var/local/jenkins
RUN apt-get update && apt-get install -y python3 python3-pip python3-all-dev
RUN ln -s $(which python2) /usr/bin/python
RUN ln -s $(which python3) /usr/bin/python
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0

@ -14,56 +14,71 @@
FROM debian:buster
# Install Git and basic packages.
#=================
# Basic C core dependencies
# C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
dnsutils \
autoconf \
libtool \
pkg-config \
&& apt-get clean
# GCC
RUN apt-get update && apt-get install -y \
gcc \
gcc-multilib \
git \
golang \
gyp \
lcov \
g++ \
g++-multilib \
&& apt-get clean
# libc6
RUN apt-get update && apt-get install -y \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
&& apt-get clean
# Tools
RUN apt-get update && apt-get install -y \
bzip2 \
curl \
dnsutils \
git \
lcov \
make \
perl \
strace \
python-dev \
python-setuptools \
python-yaml \
telnet \
time \
unzip \
wget \
zip && apt-get clean
#================
# Build profiling
RUN apt-get update && apt-get install -y time && apt-get clean
zip \
&& apt-get clean
#====================
# Python dependencies
# Install dependencies
# run_tests.py python dependencies
# Basic python dependencies to be able to run tools/run_tests python scripts
# These dependencies are not sufficient to build gRPC Python, gRPC Python
# deps are defined elsewhere (e.g. python_deps.include)
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
# Install Python packages from PyPI
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
RUN pip install --upgrade pip==19.3.1
RUN pip install virtualenv==16.7.9
RUN pip install futures==3.1.1 enum34==1.1.10 protobuf==3.5.2.post1 six==1.16.0 twisted==19.10.0
python3 \
python3-pip \
python3-setuptools \
python3-yaml \
&& apt-get clean
# use pinned version of pip to avoid sudden breakages
RUN python3 -m pip install --upgrade pip==19.3.1
# TODO(jtattermusch): currently six is needed for tools/run_tests scripts
# but since our python2 usage is deprecated, we should get rid of it.
RUN python3 -m pip install six==1.16.0
# Google Cloud Platform API libraries
# These are needed for uploading test results to BigQuery (e.g. by tools/run_tests scripts)
RUN python3 -m pip install --upgrade google-auth==1.23.0 google-api-python-client==1.12.8 oauth2client==4.1.0
#==================
# Ruby dependencies

@ -41,16 +41,16 @@ RUN apt-get update && apt-get -y install \
# Python dependencies
# Install dependencies
# TODO(jtattermusch): This installs python3.5. Is it even needed
# when we install python3.6 in the next step?
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-setuptools
python3-all-dev
#=================
# Compile CPython 3.6.9 from source
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev
RUN apt-get update && apt-get install -y jq build-essential libffi-dev
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev && apt-get clean
RUN apt-get update && apt-get install -y jq build-essential libffi-dev && apt-get clean
RUN cd /tmp && \
wget -q https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz && \
@ -67,6 +67,12 @@ RUN python3.6 -m ensurepip && \
python3.6 -m pip install coverage
# Python2's python.h still needs to be present in order for the bazel build
# to work.
# TODO(jtattermusch): remove once https://github.com/grpc/grpc/issues/28026
# is fixed.
RUN apt-get update && apt-get install -y python-all-dev python-setuptools
#========================
# Bazel installation

@ -1,4 +1,4 @@
# Copyright 2021 gRPC authors.
# Copyright 2021 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -18,7 +18,11 @@
# Image(c7f1523ebd92) is built on Jul 29, 2021
FROM gcr.io/oss-fuzz-base/base-builder@sha256:c7f1523ebd9234b9ff57e5240f8c06569143373be019c92f1e6df18a1e048f37
# This Dockerfile creates the environment for compiling and e2e testing of Android binder transport implementation
# -------------------------- WARNING --------------------------------------
# If you are making changes to this file, consider changing
# https://github.com/google/oss-fuzz/blob/master/projects/grpc/Dockerfile
# accordingly.
# -------------------------------------------------------------------------
# Install basic packages and Bazel dependencies.
RUN apt-get update && apt-get install -y software-properties-common python-software-properties
@ -33,24 +37,41 @@ RUN apt-get update && apt-get -y install \
openjdk-8-jdk \
vim
#========================
# Android SDK/NDK installation
ENV SDK_ROOT=/opt/android-sdk
RUN mkdir -p ${SDK_ROOT}
RUN wget -O cmd.zip dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip && \
unzip cmd.zip && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'tools' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'platform-tools' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'build-tools;30.0.3' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'platforms;android-29' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'ndk-bundle' && \
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=${SDK_ROOT} 'ndk;21.4.7075529'
RUN rm cmd.zip
#====================
# Python dependencies
# Set environment variables for Bazel rules
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_NDK_HOME=/opt/android-sdk/ndk/21.4.7075529
# Install dependencies
# TODO(jtattermusch): This installs python3.5. Is it even needed
# when we install python3.6 in the next step?
RUN apt-get update && apt-get install -y \
python3-all-dev
#=================
# Compile CPython 3.6.9 from source
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev && apt-get clean
RUN apt-get update && apt-get install -y jq build-essential libffi-dev && apt-get clean
RUN cd /tmp && \
wget -q https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz && \
tar xzvf Python-3.6.9.tgz && \
cd Python-3.6.9 && \
./configure && \
make install
RUN cd /tmp && \
echo "ff7cdaef4846c89c1ec0d7b709bbd54d Python-3.6.9.tgz" > checksum.md5 && \
md5sum -c checksum.md5
RUN python3.6 -m ensurepip && \
python3.6 -m pip install coverage
# Python2's python.h still needs to be present in order for the bazel build
# to work.
# TODO(jtattermusch): remove once https://github.com/grpc/grpc/issues/28026
# is fixed.
RUN apt-get update && apt-get install -y python-all-dev python-setuptools
#========================
# Bazel installation
@ -67,6 +88,16 @@ RUN wget "https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/b
rm bazel-$BAZEL_VERSION-installer-linux-x86_64.sh
#========================
# Android SDK/NDK installation
ENV SDK_ROOT=/opt/android-sdk
RUN mkdir -p $SDK_ROOT
RUN wget -O cmd.zip dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip && unzip cmd.zip && rm cmd.zip && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'tools' && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'platform-tools' && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'build-tools;30.0.3' && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'platforms;android-29' && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'ndk-bundle' && yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$SDK_ROOT 'ndk;21.4.7075529'
# Set environment variables for Bazel rules
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_NDK_HOME=/opt/android-sdk/ndk/21.4.7075529
RUN mkdir -p /var/local/jenkins
# Define the default command.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save