diff options
author | Esun Kim <veblush@google.com> | 2022-10-11 11:49:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-11 11:49:25 -0700 |
commit | 91091e3668144de9c6aa392f496bb7639f7025a7 (patch) | |
tree | 7804d8e19e2a56c7e939d610926cf2305c0c81ac | |
parent | a3dc0fce8fd43f4094c95e554b0fe85129e3e9d0 (diff) | |
download | grpc-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.sh | 11 | ||||
-rwxr-xr-x | tools/run_tests/artifacts/build_artifact_python.sh | 7 | ||||
-rwxr-xr-x | tools/run_tests/helper_scripts/build_python.sh | 18 | ||||
-rwxr-xr-x | tools/run_tests/helper_scripts/run_python.sh | 3 |
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) |