Windows Python 3.10 - Skip protobuf Update

PiperOrigin-RevId: 416897304
Change-Id: Ic063b2a032ef518c5b258d9529849a8afebaa76d
diff --git a/tensorflow/tools/ci_build/release/common_win.bat b/tensorflow/tools/ci_build/release/common_win.bat
index 571ba70..ec822b2 100644
--- a/tensorflow/tools/ci_build/release/common_win.bat
+++ b/tensorflow/tools/ci_build/release/common_win.bat
@@ -24,15 +24,15 @@
 SET PATH=%PATH%;C:\%PYTHON_DIRECTORY%
 
 @REM First, upgrade pypi wheels
+@REM NOTE: Windows doesn't have any additional requirements from the common ones.
 IF "%PYTHON_DIRECTORY%"=="Python310" (
   %PY_EXE% -m pip install --upgrade "setuptools<60" pip wheel
+  %PY_EXE% -m pip install -r tensorflow/tools/ci_build/release/requirements_win_py310.txt
 ) ELSE (
   %PY_EXE% -m pip install --upgrade "setuptools<53" pip wheel
+  %PY_EXE% -m pip install -r tensorflow/tools/ci_build/release/requirements_common.txt
 )
 
-@REM NOTE: Windows doesn't have any additional requirements from the common ones.
-%PY_EXE% -m pip install -r tensorflow/tools/ci_build/release/requirements_common.txt
-
 :: Set cuda related environment variables. If we are not using CUDA, these are not used.
 IF NOT DEFINED TF_CUDA_VERSION (
   SET TF_CUDA_VERSION=11.2
diff --git a/tensorflow/tools/ci_build/release/requirements_win_py310.txt b/tensorflow/tools/ci_build/release/requirements_win_py310.txt
new file mode 100644
index 0000000..46dd697
--- /dev/null
+++ b/tensorflow/tools/ci_build/release/requirements_win_py310.txt
@@ -0,0 +1,36 @@
+# TODO(rameshsampath): Temp workaround to skip protobut install for py310
+# Merge with the common requirements once protobuf - Windows is released for py310
+# To have reproducible builds, these dependencies should be pinned always.
+# Prefer pinning to the same version as in setup.py for now.
+# This will change in the future.
+
+absl-py ~= 0.13.0
+astunparse ~= 1.6.3
+flatbuffers ~= 2.0
+google_pasta ~= 0.2
+h5py ~= 3.6.0  # NOTE: Earliest version for Python 3.10
+keras_preprocessing ~= 1.1.2
+numpy ~= 1.21.4  # NOTE: Earliest version for h5py in Python 3.10
+opt_einsum ~= 3.3.0
+# protobuf >= 3.17.1  # Skip install of protobuf
+six ~= 1.16.0
+termcolor ~= 1.1.0
+typing_extensions ~= 3.10.0.0
+wheel ~= 0.36.2
+wrapt ~= 1.12.1
+
+# We need to pin the gast dependency exactly
+gast == 0.4.0
+
+# Finally, install tensorboard and estimator and keras
+# Note that here we want the latest version that matches TF major.minor version
+# Note that we must use nightly here as these are used in nightly jobs
+# For release jobs, we will pin these on the release branch
+keras-nightly ~= 2.8.0.dev
+tb-nightly ~= 2.8.0.a
+tf-estimator-nightly ~= 2.8.0.dev
+
+# Test dependencies
+# grpcio ~= 1.38.1  # Skip install grpcio
+portpicker ~= 1.4.0
+scipy ~= 1.7.2  # NOTE: Earliest version for Python 3.10