aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsun Kim <veblush@google.com>2022-10-11 11:49:25 -0700
committerGitHub <noreply@github.com>2022-10-11 11:49:25 -0700
commit91091e3668144de9c6aa392f496bb7639f7025a7 (patch)
tree7804d8e19e2a56c7e939d610926cf2305c0c81ac
parenta3dc0fce8fd43f4094c95e554b0fe85129e3e9d0 (diff)
downloadgrpc-grpc-91091e3668144de9c6aa392f496bb7639f7025a7.tar.gz
Fix python tests on kokoro macos monterey (#31126) (#31315)
* fix python build on kokoro macos monterey * avoid using realpath * fix grpc_distribtests_python on macos monterey * try upgrade setuptools Co-authored-by: Jan Tattermusch <jtattermusch@google.com>
-rw-r--r--tools/internal_ci/macos/grpc_distribtests_python.sh11
-rwxr-xr-xtools/run_tests/artifacts/build_artifact_python.sh7
-rwxr-xr-xtools/run_tests/helper_scripts/build_python.sh18
-rwxr-xr-xtools/run_tests/helper_scripts/run_python.sh3
4 files changed, 13 insertions, 26 deletions
diff --git a/tools/internal_ci/macos/grpc_distribtests_python.sh b/tools/internal_ci/macos/grpc_distribtests_python.sh
index 5068bd1901..e60aadaf0a 100644
--- a/tools/internal_ci/macos/grpc_distribtests_python.sh
+++ b/tools/internal_ci/macos/grpc_distribtests_python.sh
@@ -26,12 +26,11 @@ source tools/internal_ci/helper_scripts/prepare_build_macos_rc
# TODO(jtattermusch): cleanup this prepare build step (needed for python artifact build)
# install cython for all python versions
-python2.7 -m pip install -U cython setuptools==44.1.1 wheel --user
-python3.5 -m pip install -U cython setuptools==44.1.1 wheel --user
-python3.6 -m pip install -U cython setuptools==44.1.1 wheel --user
-python3.7 -m pip install -U cython setuptools==44.1.1 wheel --user
-python3.8 -m pip install -U cython setuptools==44.1.1 wheel --user
-python3.9 -m pip install -U cython setuptools==44.1.1 wheel --user
+python3.7 -m pip install -U cython setuptools==65.4.1 wheel --user
+python3.8 -m pip install -U cython setuptools==65.4.1 wheel --user
+python3.9 -m pip install -U cython setuptools==65.4.1 wheel --user
+python3.10 -m pip install -U cython setuptools==65.4.1 wheel --user
+python3.11 -m pip install -U cython setuptools==65.4.1 wheel --user
# Build all python macos artifacts (this step actually builds all the binary wheels and source archives)
tools/run_tests/task_runner.py -f artifact macos python ${TASK_RUNNER_EXTRA_FILTERS} -j 4 -x build_artifacts/sponge_log.xml || FAILED="true"
diff --git a/tools/run_tests/artifacts/build_artifact_python.sh b/tools/run_tests/artifacts/build_artifact_python.sh
index c5ea9e77c3..3e94623ca7 100755
--- a/tools/run_tests/artifacts/build_artifact_python.sh
+++ b/tools/run_tests/artifacts/build_artifact_python.sh
@@ -135,10 +135,11 @@ ${SETARCH_CMD} "${PYTHON}" tools/distrib/python/grpcio_tools/setup.py bdist_whee
# the artifacts output dir.
if [ "$GRPC_SKIP_TWINE_CHECK" == "" ]
then
- # Ensure the generated artifacts are valid.
- # TODO(jtattermusch): avoid the need for always re-installing virtualenv and twine
+ # Install virtualenv if it isn't already available.
+ # TODO(jtattermusch): cleanup the virtualenv version fallback logic.
"${PYTHON}" -m pip install virtualenv
- "${PYTHON}" -m virtualenv venv || { "${PYTHON}" -m pip install virtualenv==16.7.9 && "${PYTHON}" -m virtualenv venv; }
+ "${PYTHON}" -m virtualenv venv || { "${PYTHON}" -m pip install virtualenv==20.0.23 && "${PYTHON}" -m virtualenv venv; }
+ # Ensure the generated artifacts are valid using "twine check"
venv/bin/python -m pip install "twine<=2.0"
venv/bin/python -m twine check dist/* tools/distrib/python/grpcio_tools/dist/*
rm -rf venv/
diff --git a/tools/run_tests/helper_scripts/build_python.sh b/tools/run_tests/helper_scripts/build_python.sh
index 981ef25e2e..1a26cdcc6c 100755
--- a/tools/run_tests/helper_scripts/build_python.sh
+++ b/tools/run_tests/helper_scripts/build_python.sh
@@ -86,20 +86,6 @@ function toolchain() {
fi
}
-# TODO(jtattermusch): this adds dependency on grealpath on mac
-# (brew install coreutils) for little reason.
-# Command to invoke the linux command `realpath` or equivalent.
-function script_realpath() {
- # Find `realpath`
- if [ -x "$(command -v realpath)" ]; then
- realpath "$@"
- elif [ -x "$(command -v grealpath)" ]; then
- grealpath "$@"
- else
- exit 1
- fi
-}
-
####################
# Script Arguments #
####################
@@ -137,9 +123,9 @@ if [[ "$(inside_venv)" ]]; then
VENV_PYTHON="$PYTHON"
else
# Instantiate the virtualenv from the Python version passed in.
- $PYTHON -m pip install --user virtualenv==16.7.9
+ $PYTHON -m pip install --user virtualenv==20.0.23
$PYTHON -m virtualenv "$VENV"
- VENV_PYTHON=$(script_realpath "$VENV/$VENV_RELATIVE_PYTHON")
+ VENV_PYTHON="$(pwd)/$VENV/$VENV_RELATIVE_PYTHON"
fi
diff --git a/tools/run_tests/helper_scripts/run_python.sh b/tools/run_tests/helper_scripts/run_python.sh
index 02505f06ef..40c6939859 100755
--- a/tools/run_tests/helper_scripts/run_python.sh
+++ b/tools/run_tests/helper_scripts/run_python.sh
@@ -18,7 +18,8 @@ set -ex
# change to grpc repo root
cd "$(dirname "$0")/../../.."
-PYTHON=$(realpath "${1:-py37/bin/python}")
+# TODO(jtattermusch): is the $(pwd) prefix actually useful?
+PYTHON="$(pwd)/${1:-py37/bin/python}"
ROOT=$(pwd)