@rem Copyright 2022 The gRPC Authors @rem @rem Licensed under the Apache License, Version 2.0 (the "License"); @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem @rem http://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem Avoid slow finalization after the script has exited. @rem See the script's prologue for info on the correct invocation pattern. setlocal EnableDelayedExpansion IF "%cd%"=="T:\src" ( call %~dp0\..\..\..\tools\internal_ci\helper_scripts\move_src_tree_and_respawn_itself.bat %0 echo respawn script has finished with exitcode !errorlevel! exit /b !errorlevel! ) endlocal @rem enter repo root cd /d %~dp0\..\..\.. set PREPARE_BUILD_INSTALL_DEPS_CSHARP=true call tools/internal_ci/helper_scripts/prepare_build_windows.bat || exit /b 1 call tools/internal_ci/helper_scripts/prepare_ccache.bat || exit /b 1 @rem Install Msys2 zip to avoid crash when using cygwin's zip on grpc-win2016 kokoro workers. @rem Downloading from GCS should be very reliables when on a GCP VM. @rem TODO(jtattermusch): find a better way of making the build_packages step work on windows workers. mkdir C:\zip curl -sSL --fail -o C:\zip\zip.exe https://storage.googleapis.com/grpc-build-helper/zip-3.0-1-x86_64/zip.exe || goto :error set PATH=C:\zip;%PATH% zip --version @rem Build all protoc windows artifacts python tools/run_tests/task_runner.py -f artifact windows protoc %TASK_RUNNER_EXTRA_FILTERS% -j 4 --inner_jobs 4 -x build_artifacts_protoc/sponge_log.xml || set FAILED=true @rem the next step expects to find the artifacts from the previous step in the "input_artifacts" folder. bash -c "rm -rf input_artifacts; mkdir -p input_artifacts; cp -r artifacts/* input_artifacts/ || true" @rem This step builds the nuget packages from input_artifacts @rem Set env variable option to build single platform version of the nugets. @rem (this is required as we only have the windows artifacts at hand) set GRPC_CSHARP_BUILD_SINGLE_PLATFORM_NUGET=1 python tools/run_tests/task_runner.py -f package windows csharp nuget -j 2 -x build_packages/sponge_log.xml || set FAILED=true @rem the next step expects to find the artifacts from the previous step in the "input_artifacts" folder. @rem in addition to that, preserve the contents of "artifacts" directory since we want kokoro @rem to upload its contents as job output artifacts bash -c "rm -rf input_artifacts; mkdir -p input_artifacts; cp -r artifacts/* input_artifacts/ || true" @rem Run all C# windows distribtests @rem We run the distribtests even if some of the artifacts have failed to build, since that gives @rem a better signal about which distribtest are affected by the currently broken artifact builds. python tools/run_tests/task_runner.py -f distribtest windows csharp %TASK_RUNNER_EXTRA_FILTERS% -j 4 -x distribtests/sponge_log.xml || set FAILED=true @rem show ccache stats ccache --show-stats bash tools/internal_ci/helper_scripts/store_artifacts_from_moved_src_tree.sh if not "%FAILED%" == "" ( exit /b 1 )