Fix test target deployment directories#8552
Conversation
Ensure deploy_test_targets.cmd creates the Python Tools target directory before copying targets and reports failures instead of continuing after missing paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
rchiodo
left a comment
There was a problem hiding this comment.
Approved via Review Center.
| if errorlevel 1 set "_DEPLOY_FAILED=1" | ||
| ) | ||
|
|
||
| pause |
There was a problem hiding this comment.
pause runs before if defined _DEPLOY_FAILED exit /B 1, so any non-interactive/CI caller hangs forever waiting for a keystroke — making the PR's new non-zero exit codes unreachable in exactly the automation context they're meant for. Consider gating it behind interactivity (e.g. if /I not "%CI%"=="1" pause). Pre-existing, but it directly undermines this PR's goal.
| echo to !TARGET! | ||
| robocopy /E /XO Win32 "!TARGET!\Win32" *.* >nul | ||
| if errorlevel 8 ( | ||
| echo [ERROR] Failed to copy Win32 VC Debug Launcher targets to !TARGET!\Win32 |
There was a problem hiding this comment.
An empty source Win32/x64 directory makes robocopy /E /XO return 0, which passes the if errorlevel 8 gate; the script then emits [WARN] ... missing with Win32=0 but still exit /B 0. Given the PR's "report failures" intent, a zero-file deploy reported as success is indistinguishable from a real one. Consider tying _VC_W32_COUNT==0 / _VC_X64_COUNT==0 to a non-zero result, unless some toolsets legitimately have no launcher files.
|
Solid hardening of the deploy script (directory creation, delayed-expansion fix, failure reporting). Two non-blocking warnings worth a look around the |
rchiodo
left a comment
There was a problem hiding this comment.
Approved via Review Center.
rchiodo
left a comment
There was a problem hiding this comment.
Approved via Review Center.



Summary
Python Toolstarget directory before copying test targetsValidation
Python\Prerequisites\deploy_test_targets.cmdagainst a temporary fake VS install withv18.0; copied 4 Python targets and 3 Win32/3 X64 VC launcher files.