* Use a non-root user in Node interop docker images
* Make node interop scripts without being root
* Update cwd in Node interop tests
* Update cwd in other Node interop tests
* Update cwd in Node interop tests relative to hardcoded path
* Fix updated Node interop test cwd
* Make service account file location more generic
* Use service account creds directly from mounted directory
* Fixing source path is recursive local submodule clone.
* Move creds file to /root, make /root accessible
Co-authored-by: Nicolas "Pixel" Noble <pixel@nobis-crew.org>
* remove gcc-multilib from base image
* remove useless "apt-get --allow-releaseinfo-change update" from docker images
* get rid of no-longer-useful python_debian11_base.include
* regenerate dockerfiles
* nit in python interop dockerfile
* address TODO in prepare_ccache_symlinks_rc
* enable ccache for C# and ruby distribtest jobs
* use debian11 instead of bullseye consistently
* upgrade ruby docker images to debian 11
* upgrade C# docker images to debian11
* update sanity dockerimage to debian11
* upgrade cxx interop to debian11
* add ccache to python interop images
* enable use of ccache for interop tests
* adjust run_tests.py to new docker images
* add ccache to rake-compiler-dock docker images
* improve prepare_ccache_symlinks_rc
* enable use of ccache in rake-compiler-dock docker containers
* add ccache support for python_manylinux2014_aarch64
* add ccache support for python_linux_armv7
* deduplicate python3.9 install
* ccache for crosscompiled darwin gems is broken
* fix bash -l resetting of PATH in grpc_artifact_python_linux_armv7
Since openjdk8 is dead to us (see #19113), we cannot leave openjdk8 in
the list of runtimes in client_matrix.py. The list of runtimes is now
the defaults to use, which includes master, and you can specify
alternative runtimes per-release.
Fixes#19113
This reduces the container size from 1.4 GB to 640 MB. 129 MB is
jessie, 489 MB jdk, and 22 MB grpc-java. When we swap from jessie to
stretch, we could swap to openjdk:8-jdk-slim-stretch which would make
the entire image 265 MB.
Python was never needed; it was added by mistake in 0589e533.
Pre-downloading gradle artifacts isn't helpful these days, because we
build on a clean machine. Git isn't needed as cp is sufficient. libapr1
has not been required by tcnative for a long time, and we even use
tcnative-boringssl-static since at least 1.0, which also doesn't need
it. The final cleanup is to remove source and downloaded artifacts when
done compiling.