]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-148644: Propagate the PGO job exit code in PCbuild/build.bat (GH-148645)
authorRégis Desgroppes <rdesgroppes@gmail.com>
Mon, 20 Apr 2026 14:18:10 +0000 (16:18 +0200)
committerGitHub <noreply@github.com>
Mon, 20 Apr 2026 14:18:10 +0000 (15:18 +0100)
Misc/NEWS.d/next/Build/2026-04-17-21-45-32.gh-issue-148644.vwkknh.rst [new file with mode: 0644]
PCbuild/build.bat

diff --git a/Misc/NEWS.d/next/Build/2026-04-17-21-45-32.gh-issue-148644.vwkknh.rst b/Misc/NEWS.d/next/Build/2026-04-17-21-45-32.gh-issue-148644.vwkknh.rst
new file mode 100644 (file)
index 0000000..a0cc9c9
--- /dev/null
@@ -0,0 +1 @@
+Errors during the PGO training job on Windows are no longer ignored, and a non-zero return code will cause the build to fail.
index 8fb2f096c93c0e4ae2cb0e5ea90d3c14830468e1..9d2f032f5a9355d8073d08cd57632c279e02d800 100644 (file)
@@ -170,16 +170,20 @@ if "%do_pgo%"=="true" (
     del /s "%dir%\*.pgc"
     del /s "%dir%\..\Lib\*.pyc"
     set conf=PGUpdate
-    if "%clean%"=="false" (
-        echo on
-        call "%dir%\..\python.bat" %pgo_job%
-        @echo off
-        call :Kill
-        set target=Build
-    )
+    if "%clean%"=="false" goto :RunPgoJob
 )
 goto :Build
 
+:RunPgoJob
+echo on
+call "%dir%\..\python.bat" %pgo_job%
+@echo off
+set pgo_errorlevel=%ERRORLEVEL%
+call :Kill
+if %pgo_errorlevel% NEQ 0 exit /B %pgo_errorlevel%
+set target=Build
+goto :Build
+
 :Kill
 echo on
 %MSBUILD% "%dir%\pythoncore.vcxproj" /t:KillPython %verbose%^