[Python 3.12] Support Python 3.12 (#34398)
Support Python 3.12. ### Testing * Passed all Distribution Tests. * Also tested locally by installing 3.12 artifact. <!-- If you know who should review your pull request, please assign it to that person, otherwise the pull request would get assigned randomly. If your pull request is for a specific language, please add the appropriate lang label. -->
This commit is contained in:
parent
7f555bd9a1
commit
ffdb58dd5f
1
setup.py
1
setup.py
|
|
@ -109,6 +109,7 @@ CLASSIFIERS = [
|
|||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ MAX_COMMAND_LENGTH = 8191
|
|||
_classic_spawn = ccompiler.CCompiler.spawn
|
||||
|
||||
|
||||
def _commandfile_spawn(self, command):
|
||||
def _commandfile_spawn(self, command, **kwargs):
|
||||
command_length = sum([len(arg) for arg in command])
|
||||
if os.name == "nt" and command_length > MAX_COMMAND_LENGTH:
|
||||
# Even if this command doesn't support the @command_file, it will
|
||||
|
|
@ -51,11 +51,11 @@ def _commandfile_spawn(self, command):
|
|||
command_file.write(" \n".join(escaped_args))
|
||||
modified_command = command[:1] + ["@{}".format(command_filename)]
|
||||
try:
|
||||
_classic_spawn(self, modified_command)
|
||||
_classic_spawn(self, modified_command, **kwargs)
|
||||
finally:
|
||||
shutil.rmtree(temporary_directory)
|
||||
else:
|
||||
_classic_spawn(self, command)
|
||||
_classic_spawn(self, command, **kwargs)
|
||||
|
||||
|
||||
def monkeypatch_spawn():
|
||||
|
|
|
|||
|
|
@ -117,11 +117,11 @@ def diagnose_build_ext_error(build_ext, error, formatted):
|
|||
diagnostic = _ERROR_DIAGNOSES.get(type(error))
|
||||
if diagnostic is None:
|
||||
raise commands.CommandError(
|
||||
"\n\nWe could not diagnose your build failure. If you are unable to"
|
||||
"\n\nWe could not diagnose your build failure with type {}. If you are unable to"
|
||||
" proceed, please file an issue at http://www.github.com/grpc/grpc"
|
||||
" with `[Python install]` in the title; please attach the whole log"
|
||||
" (including everything that may have appeared above the Python"
|
||||
" backtrace).\n\n{}".format(formatted)
|
||||
" backtrace).\n\n{}".format(type(error), formatted)
|
||||
)
|
||||
else:
|
||||
diagnostic(build_ext, error)
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ CLASSIFIERS = [
|
|||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ CLASSIFIERS = [
|
|||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ CLASSIFIERS = [
|
|||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ CLASSIFIERS = [
|
|||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -65,12 +65,12 @@ DOCKERIMAGE_CURRENT_VERSIONS = {
|
|||
"tools/dockerfile/grpc_artifact_centos6_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_centos6_x64@sha256:3285047265ea2b7c5d4df4c769b2d05f56288d947c75e16d27ae2dee693f791b",
|
||||
"tools/dockerfile/grpc_artifact_centos6_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_centos6_x86@sha256:19783239da92208f0f39cf563529cd02e889920497ef81c60d20391fa998af62",
|
||||
"tools/dockerfile/grpc_artifact_protoc_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_protoc_aarch64@sha256:1a3957f32e81259e6f3c602bd67feb132ebc5a5f23e9cb0bf63ba34b91185982",
|
||||
"tools/dockerfile/grpc_artifact_python_linux_armv7.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7@sha256:4f817dece74bbdc7c4fccdc9b0a25cefb9101781a60bf0bb827e533e79f9b1f2",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64@sha256:d56ea4394ea5ea9d09f940d1dba31e6196a8e919f60c6a4966a9192faa997f11",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64@sha256:67ab746e6da576606ebf41ad81027ad897544445fb93d5d5ca5f9d9b5428ec84",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86@sha256:993a963ac3985f8634951e1573d34e24b3868dfff3ad4ae4875dd2c47b73224f",
|
||||
"tools/dockerfile/grpc_artifact_python_musllinux_1_1_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64@sha256:09bf18cc793d55cfc48d8e88b8b6e6914e9df2b35ec417fe77a4e20bfa251df7",
|
||||
"tools/dockerfile/grpc_artifact_python_musllinux_1_1_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86@sha256:0512449e7d218c7687eb447701c8c6a33153a722722b76b2423ec58440a027de",
|
||||
"tools/dockerfile/grpc_artifact_python_linux_armv7.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7@sha256:f109d6c22cadb053f6843a66ee827d74f34d6cbf75a32f455a9da099ed1bdc9c",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64@sha256:ef3ae7991763a499b7a0317fd628d1c9d1eef7931fb160361d230f2009febdc3",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64@sha256:0725226dfb1f707ed3cb2d7cafb2376c33fa89d58577bf80e1d76a0c3bc92c64",
|
||||
"tools/dockerfile/grpc_artifact_python_manylinux2014_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86@sha256:8d00dc61594f4fa05ada5c38d55627f139a73cd3a6e4fbc0907a866f2a5f5b17",
|
||||
"tools/dockerfile/grpc_artifact_python_musllinux_1_1_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64@sha256:a53a196823862af50ec05d0c5092f765438b488772d1bf53f431cbc98233403d",
|
||||
"tools/dockerfile/grpc_artifact_python_musllinux_1_1_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86@sha256:3b0892b4d7c751781fe7947d785837cb5a9c9768519066a4e755838acdfd3ad6",
|
||||
"tools/dockerfile/interoptest/grpc_interop_aspnetcore.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_interop_aspnetcore@sha256:8e2e732e78724a8382c340dca72e7653c5f82c251a3110fa2874cc00ba538878",
|
||||
"tools/dockerfile/interoptest/grpc_interop_cxx.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_interop_cxx@sha256:5a0b1690e6eb63d0904786da9daf6e9a66c901dc7b73d97b4652c05473401790",
|
||||
"tools/dockerfile/interoptest/grpc_interop_dart.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_interop_dart@sha256:5e335005b27709f0882c5723affafa55094bd27a0cda7ce91c718deed157f2bb",
|
||||
|
|
|
|||
|
|
@ -46,6 +46,12 @@ Rebuild the docker images that have been modified locally and upload the docker
|
|||
artifact registry (note that this won't overwrite the "old" versions of the docker image
|
||||
that are already in artifact registry)
|
||||
```
|
||||
# Install qemu, binformat, and configure binfmt interpreters
|
||||
sudo apt-get install binfmt-support qemu-user-static
|
||||
|
||||
# Enable different multi-architecture containers by QEMU with Docker
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
|
||||
tools/dockerfile/push_testing_images.sh
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7:e083630fb0d91e534b69f2f64dbd47f79ce977e2@sha256:4f817dece74bbdc7c4fccdc9b0a25cefb9101781a60bf0bb827e533e79f9b1f2
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7:0b87638ab97b433c6818be5124dcd89d479b3a8b@sha256:f109d6c22cadb053f6843a66ee827d74f34d6cbf75a32f455a9da099ed1bdc9c
|
||||
|
|
@ -28,6 +28,7 @@ RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.8.8" "3.8.8" /opt/p
|
|||
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.9.2" "3.9.2" /opt/python/cp39-cp39
|
||||
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.10.0" "3.10.0rc1" /opt/python/cp310-cp310
|
||||
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.11.0" "3.11.0rc1" /opt/python/cp311-cp311
|
||||
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.12.0" "3.12.0rc2" /opt/python/cp312-cp312
|
||||
|
||||
ENV AUDITWHEEL_ARCH armv7l
|
||||
ENV AUDITWHEEL_PLAT linux_armv7l
|
||||
|
|
@ -62,3 +63,4 @@ ENV CXX ${CROSS_TRIPLE}-g++
|
|||
RUN echo "# file contents removed to avoid resetting PATH set by the docker image" >/etc/profile
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:6e2cf9602baccda05d82402885660e028cc3ebc6@sha256:d56ea4394ea5ea9d09f940d1dba31e6196a8e919f60c6a4966a9192faa997f11
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:cfc9fe0cb36bb4ec8425982fd7f07e4e14bf3941@sha256:ef3ae7991763a499b7a0317fd628d1c9d1eef7931fb160361d230f2009febdc3
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
FROM dockcross/manylinux2014-aarch64:20230202-a61e35f
|
||||
FROM dockcross/manylinux2014-aarch64:20230905-7b2d74f
|
||||
|
||||
# manylinux_2_17 is the preferred alias of manylinux2014
|
||||
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH
|
||||
|
|
@ -25,6 +25,7 @@ RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<3.0.0rc1'
|
|||
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
|
||||
#=================
|
||||
# Install ccache
|
||||
|
|
@ -42,3 +43,4 @@ RUN unset CMAKE_TOOLCHAIN_FILE && unset AS AR CC CPP CXX LD STRIP OBJCOPY \
|
|||
&& rm -rf ccache-4.5.1 ccache.tar.gz
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64:0af99bbd5b3f24218f6009df916a19fd7cb4f11c@sha256:67ab746e6da576606ebf41ad81027ad897544445fb93d5d5ca5f9d9b5428ec84
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64:e81af0c6d454929785e8126fc993cbd93da5c014@sha256:0725226dfb1f707ed3cb2d7cafb2376c33fa89d58577bf80e1d76a0c3bc92c64
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
# Docker file for building gRPC manylinux Python artifacts.
|
||||
|
||||
FROM quay.io/pypa/manylinux2014_x86_64:2022-08-29-0fd77fa
|
||||
FROM quay.io/pypa/manylinux2014_x86_64:2023-09-17-ae90a16
|
||||
|
||||
# manylinux_2_17 is the preferred alias of manylinux2014
|
||||
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH
|
||||
|
|
@ -30,6 +30,7 @@ RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<3.0.0rc1'
|
|||
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
|
||||
#=================
|
||||
# Install ccache
|
||||
|
|
@ -46,3 +47,4 @@ RUN curl -sSL -o ccache.tar.gz https://github.com/ccache/ccache/releases/downloa
|
|||
&& rm -rf ccache-4.5.1 ccache.tar.gz
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86:904b062b982ad12aad91173e2fc7809fd44c3924@sha256:993a963ac3985f8634951e1573d34e24b3868dfff3ad4ae4875dd2c47b73224f
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86:fda00560d600eed356f8d6bef2cc8416d0a6b790@sha256:8d00dc61594f4fa05ada5c38d55627f139a73cd3a6e4fbc0907a866f2a5f5b17
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
# Docker file for building gRPC manylinux Python artifacts.
|
||||
|
||||
FROM quay.io/pypa/manylinux2014_i686:2022-08-29-0fd77fa
|
||||
FROM quay.io/pypa/manylinux2014_i686:2023-09-17-ae90a16
|
||||
|
||||
# manylinux_2_17 is the preferred alias of manylinux2014
|
||||
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH
|
||||
|
|
@ -30,6 +30,7 @@ RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<3.0.0rc1'
|
|||
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
|
||||
#=================
|
||||
# Install ccache
|
||||
|
|
@ -47,3 +48,4 @@ RUN curl -sSL -o ccache.tar.gz https://github.com/ccache/ccache/releases/downloa
|
|||
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64:0807f8211c3f381efa8684232c087c98a4ca7cb8@sha256:09bf18cc793d55cfc48d8e88b8b6e6914e9df2b35ec417fe77a4e20bfa251df7
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64:2f56fcee2e4964359dddcd57bb9b066ceb8331ec@sha256:a53a196823862af50ec05d0c5092f765438b488772d1bf53f431cbc98233403d
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
FROM quay.io/pypa/musllinux_1_1_x86_64:2022-08-29-0fd77fa
|
||||
FROM quay.io/pypa/musllinux_1_1_x86_64:2023-09-17-ae90a16
|
||||
|
||||
###################################
|
||||
# Install Python build requirements
|
||||
|
|
@ -22,6 +22,7 @@ RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<3.0.0rc1'
|
|||
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
|
||||
#=================
|
||||
# Install ccache
|
||||
|
|
@ -38,3 +39,4 @@ RUN curl -sSL -o ccache.tar.gz https://github.com/ccache/ccache/releases/downloa
|
|||
&& rm -rf ccache-4.5.1 ccache.tar.gz
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
@ -1 +1 @@
|
|||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86:3bc3eacb8eb4ebce5d13a2d4ecabba9074511d48@sha256:0512449e7d218c7687eb447701c8c6a33153a722722b76b2423ec58440a027de
|
||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86:9308dccacd76fb1782a43d97e6f5062b5b58576d@sha256:3b0892b4d7c751781fe7947d785837cb5a9c9768519066a4e755838acdfd3ad6
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
FROM quay.io/pypa/musllinux_1_1_i686:2022-08-29-0fd77fa
|
||||
FROM quay.io/pypa/musllinux_1_1_i686:2023-09-17-ae90a16
|
||||
|
||||
###################################
|
||||
# Install Python build requirements
|
||||
|
|
@ -22,6 +22,7 @@ RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<3.0.0rc1'
|
|||
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<3.0.0rc1'
|
||||
|
||||
#=================
|
||||
# Install ccache
|
||||
|
|
@ -38,3 +39,4 @@ RUN curl -sSL -o ccache.tar.gz https://github.com/ccache/ccache/releases/downloa
|
|||
&& rm -rf ccache-4.5.1 ccache.tar.gz
|
||||
|
||||
RUN git config --global --add safe.directory /var/local/jenkins/grpc
|
||||
RUN git config --global protocol.file.allow always
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
# they simply provide an easily reproducible environment for running gRPC
|
||||
# tests.
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
cd $(dirname $0)/../..
|
||||
git_root=$(pwd)
|
||||
|
|
|
|||
|
|
@ -132,3 +132,20 @@ $Python311x64Config = @{
|
|||
PythonInstallerHash = "5943d8702e40a5ccd62e5a8d4c8852aa"
|
||||
}
|
||||
Install-Python @Python311x64Config
|
||||
|
||||
# Python 3.12
|
||||
$Python312x86Config = @{
|
||||
PythonVersion = "3.12.0"
|
||||
PythonInstaller = "python-3.12.0rc2"
|
||||
PythonInstallPath = "C:\Python312_32bit"
|
||||
PythonInstallerHash = "c7bfbde3b07a7bd013043640ca475b8c"
|
||||
}
|
||||
Install-Python @Python312x86Config
|
||||
|
||||
$Python312x64Config = @{
|
||||
PythonVersion = "3.12.0"
|
||||
PythonInstaller = "python-3.12.0rc2-amd64"
|
||||
PythonInstallPath = "C:\Python312"
|
||||
PythonInstallerHash = "ea1993b5227fa4c8f45a06f5fbdd23b3"
|
||||
}
|
||||
Install-Python @Python312x64Config
|
||||
|
|
|
|||
|
|
@ -168,6 +168,14 @@ then
|
|||
shasum -c /tmp/python_installer_checksum.sha256
|
||||
time sudo installer -pkg ./python-3.11.0rc1-macos11.pkg -target /
|
||||
fi
|
||||
|
||||
# Install Python 3.12 if it doesn't exist
|
||||
if [ ! -f "/usr/local/bin/python3.12" ]; then
|
||||
time curl -O https://www.python.org/ftp/python/3.12.0/python-3.12.0rc2-macos11.pkg
|
||||
echo "e5dc5511b604b501b892991d257d117bb5757437 python-3.12.0rc2-macos11.pkg" > /tmp/python_installer_checksum.sha256
|
||||
shasum -c /tmp/python_installer_checksum.sha256
|
||||
time sudo installer -pkg ./python-3.12.0rc2-macos11.pkg -target /
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PREPARE_BUILD_INSTALL_DEPS_CSHARP}" == "true" ]
|
||||
|
|
|
|||
|
|
@ -402,8 +402,9 @@ def targets():
|
|||
PythonArtifact("manylinux2014", "x64", "cp38-cp38", presubmit=True),
|
||||
PythonArtifact("manylinux2014", "x64", "cp39-cp39"),
|
||||
PythonArtifact("manylinux2014", "x64", "cp310-cp310"),
|
||||
PythonArtifact("manylinux2014", "x64", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"manylinux2014", "x64", "cp311-cp311", presubmit=True
|
||||
"manylinux2014", "x64", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact(
|
||||
"manylinux2014", "x86", "cp37-cp37m", presubmit=True
|
||||
|
|
@ -411,8 +412,9 @@ def targets():
|
|||
PythonArtifact("manylinux2014", "x86", "cp38-cp38", presubmit=True),
|
||||
PythonArtifact("manylinux2014", "x86", "cp39-cp39"),
|
||||
PythonArtifact("manylinux2014", "x86", "cp310-cp310"),
|
||||
PythonArtifact("manylinux2014", "x86", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"manylinux2014", "x86", "cp311-cp311", presubmit=True
|
||||
"manylinux2014", "x86", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact(
|
||||
"manylinux2014", "aarch64", "cp37-cp37m", presubmit=True
|
||||
|
|
@ -423,18 +425,23 @@ def targets():
|
|||
PythonArtifact("manylinux2014", "aarch64", "cp39-cp39"),
|
||||
PythonArtifact("manylinux2014", "aarch64", "cp310-cp310"),
|
||||
PythonArtifact("manylinux2014", "aarch64", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"manylinux2014", "aarch64", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact(
|
||||
"linux_extra", "armv7", "cp37-cp37m", presubmit=True
|
||||
),
|
||||
PythonArtifact("linux_extra", "armv7", "cp38-cp38"),
|
||||
PythonArtifact("linux_extra", "armv7", "cp39-cp39"),
|
||||
PythonArtifact("linux_extra", "armv7", "cp310-cp310"),
|
||||
PythonArtifact("linux_extra", "armv7", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"linux_extra", "armv7", "cp311-cp311", presubmit=True
|
||||
"linux_extra", "armv7", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact("musllinux_1_1", "x64", "cp310-cp310"),
|
||||
PythonArtifact("musllinux_1_1", "x64", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"musllinux_1_1", "x64", "cp311-cp311", presubmit=True
|
||||
"musllinux_1_1", "x64", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact(
|
||||
"musllinux_1_1", "x64", "cp37-cp37m", presubmit=True
|
||||
|
|
@ -442,8 +449,9 @@ def targets():
|
|||
PythonArtifact("musllinux_1_1", "x64", "cp38-cp38"),
|
||||
PythonArtifact("musllinux_1_1", "x64", "cp39-cp39"),
|
||||
PythonArtifact("musllinux_1_1", "x86", "cp310-cp310"),
|
||||
PythonArtifact("musllinux_1_1", "x86", "cp311-cp311"),
|
||||
PythonArtifact(
|
||||
"musllinux_1_1", "x86", "cp311-cp311", presubmit=True
|
||||
"musllinux_1_1", "x86", "cp312-cp312", presubmit=True
|
||||
),
|
||||
PythonArtifact(
|
||||
"musllinux_1_1", "x86", "cp37-cp37m", presubmit=True
|
||||
|
|
@ -453,18 +461,21 @@ def targets():
|
|||
PythonArtifact("macos", "x64", "python3.7", presubmit=True),
|
||||
PythonArtifact("macos", "x64", "python3.8"),
|
||||
PythonArtifact("macos", "x64", "python3.9"),
|
||||
PythonArtifact("macos", "x64", "python3.10", presubmit=True),
|
||||
PythonArtifact("macos", "x64", "python3.10"),
|
||||
PythonArtifact("macos", "x64", "python3.11", presubmit=True),
|
||||
PythonArtifact("macos", "x64", "python3.12", presubmit=True),
|
||||
PythonArtifact("windows", "x86", "Python37_32bit", presubmit=True),
|
||||
PythonArtifact("windows", "x86", "Python38_32bit"),
|
||||
PythonArtifact("windows", "x86", "Python38_32bit", presubmit=True),
|
||||
PythonArtifact("windows", "x86", "Python39_32bit"),
|
||||
PythonArtifact("windows", "x86", "Python310_32bit"),
|
||||
PythonArtifact("windows", "x86", "Python311_32bit", presubmit=True),
|
||||
PythonArtifact("windows", "x86", "Python311_32bit"),
|
||||
PythonArtifact("windows", "x86", "Python312_32bit", presubmit=True),
|
||||
PythonArtifact("windows", "x64", "Python37", presubmit=True),
|
||||
PythonArtifact("windows", "x64", "Python38"),
|
||||
PythonArtifact("windows", "x64", "Python38", presubmit=True),
|
||||
PythonArtifact("windows", "x64", "Python39"),
|
||||
PythonArtifact("windows", "x64", "Python310"),
|
||||
PythonArtifact("windows", "x64", "Python311", presubmit=True),
|
||||
PythonArtifact("windows", "x64", "Python311"),
|
||||
PythonArtifact("windows", "x64", "Python312", presubmit=True),
|
||||
RubyArtifact("linux", "x86-mingw32", presubmit=True),
|
||||
RubyArtifact("linux", "x64-mingw32", presubmit=True),
|
||||
RubyArtifact("linux", "x64-mingw-ucrt", presubmit=True),
|
||||
|
|
|
|||
|
|
@ -19,9 +19,19 @@ set PATH=C:\%1;C:\%1\scripts;%PATH%
|
|||
set PATH=C:\msys64\mingw%2\bin;C:\tools\msys64\mingw%2\bin;%PATH%
|
||||
:end_mingw64_installation
|
||||
|
||||
@rem check if building for Python3.7 in windows
|
||||
set IS_PYTHON_37=false
|
||||
If "%1" == "Python37_32bit" set IS_PYTHON_37=true
|
||||
If "%1" == "Python37" set IS_PYTHON_37=true
|
||||
|
||||
@rem Python3.7 in windows doesn't support high version of setuptools
|
||||
if "%IS_PYTHON_37%" == "true" (
|
||||
python -m pip install --upgrade six
|
||||
@rem some artifacts are broken for setuptools 38.5.0. See https://github.com/grpc/grpc/issues/14317
|
||||
python -m pip install --upgrade setuptools==59.6.0
|
||||
) else (
|
||||
python -m pip install --upgrade pip six setuptools wheel
|
||||
)
|
||||
|
||||
python -m pip install --upgrade "cython<3.0.0rc1"
|
||||
python -m pip install -rrequirements.txt --user
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ export AUDITWHEEL=${AUDITWHEEL:-auditwheel}
|
|||
source tools/internal_ci/helper_scripts/prepare_ccache_symlinks_rc
|
||||
|
||||
# Needed for building binary distribution wheels -- bdist_wheel
|
||||
"${PYTHON}" -m pip install --upgrade wheel setuptools
|
||||
"${PYTHON}" -m pip install --upgrade pip wheel setuptools
|
||||
|
||||
if [ "$GRPC_SKIP_PIP_CYTHON_UPGRADE" == "" ]
|
||||
then
|
||||
|
|
|
|||
Loading…
Reference in New Issue