From a1952122a3a20272e4db9e3c6205009a91c73ccf Mon Sep 17 00:00:00 2001 From: Paul Monson Date: Thu, 20 Jun 2019 09:33:32 -0700 Subject: [PATCH] bpo-36511: Improve ARM32 buildbot scripts (GH-14251) --- Tools/buildbot/remoteDeploy.bat | 42 ++++++++++++++++------------- Tools/buildbot/remotePythonInfo.bat | 5 ++-- Tools/buildbot/test.bat | 5 ++-- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/Tools/buildbot/remoteDeploy.bat b/Tools/buildbot/remoteDeploy.bat index ac1e38b9617..8b0ce239e1a 100644 --- a/Tools/buildbot/remoteDeploy.bat +++ b/Tools/buildbot/remoteDeploy.bat @@ -2,6 +2,7 @@ rem Used by the buildbot "remotedeploy" step. setlocal +set PATH=%PATH%;%SystemRoot%\SysNative\OpenSSH;%SystemRoot%\System32\OpenSSH set here=%~dp0 set arm32_ssh= @@ -13,28 +14,31 @@ if "%arm32_ssh%"=="true" goto :Arm32Ssh :Arm32Ssh if "%SSH_SERVER%"=="" goto :Arm32SshHelp -if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe) -if "%SCP%"=="" if EXIST %WINDIR%\System32\OpenSSH\scp.exe (set SCP=%WINDIR%\System32\OpenSSH\scp.exe) -echo SSH = %SSH% -echo SCP = %SCP% + +ssh %SSH_SERVER% echo Make sure we can find SSH and SSH_SERVER variable is valid +if %ERRORLEVEL% NEQ 0 (echo SSH does not work) & exit /b %ERRORLEVEL% + if "%PYTHON_SOURCE%"=="" (set PYTHON_SOURCE=%here%..\..\) if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\) if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\) -%SSH% %SSH_SERVER% "if EXIST %REMOTE_PYTHON_DIR% (rd %REMOTE_PYTHON_DIR% /s/q)" -%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PCBuild\arm32" -%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%temp" -%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%Modules" -%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PC" -for /f "USEBACKQ" %%i in (`dir PCbuild\*.bat /b`) do @%SCP% PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" -for /f "USEBACKQ" %%i in (`dir PCbuild\*.py /b`) do @%SCP% PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" -for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.exe /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" -for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.pyd /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" -for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.dll /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" -%SCP% -r "%PYTHON_SOURCE%Include" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Include" -%SCP% -r "%PYTHON_SOURCE%Lib" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Lib" -%SCP% -r "%PYTHON_SOURCE%Tools" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Tools" -%SCP% "%PYTHON_SOURCE%Modules\Setup" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Modules" -%SCP% "%PYTHON_SOURCE%PC\pyconfig.h" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PC" +echo PYTHON_SOURCE = %PYTHON_SOURCE% +echo REMOTE_PYTHON_DIR = %REMOTE_PYTHON_DIR% + +ssh %SSH_SERVER% "if EXIST %REMOTE_PYTHON_DIR% (rd %REMOTE_PYTHON_DIR% /s/q)" +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PCBuild\arm32" +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%temp" +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%Modules" +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PC" +for /f "USEBACKQ" %%i in (`dir PCbuild\*.bat /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" +for /f "USEBACKQ" %%i in (`dir PCbuild\*.py /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.exe /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.pyd /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.dll /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" +scp -r "%PYTHON_SOURCE%Include" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Include" +scp -r "%PYTHON_SOURCE%Lib" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Lib" +scp -r "%PYTHON_SOURCE%Tools" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Tools" +scp "%PYTHON_SOURCE%Modules\Setup" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Modules" +scp "%PYTHON_SOURCE%PC\pyconfig.h" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PC" exit /b %ERRORLEVEL% diff --git a/Tools/buildbot/remotePythonInfo.bat b/Tools/buildbot/remotePythonInfo.bat index 263808cfddf..b17717cb018 100644 --- a/Tools/buildbot/remotePythonInfo.bat +++ b/Tools/buildbot/remotePythonInfo.bat @@ -2,6 +2,7 @@ rem Used by the buildbot "remotedeploy" step. setlocal +set PATH=%PATH%;%SystemRoot%\SysNative\OpenSSH;%SystemRoot%\System32\OpenSSH set here=%~dp0 set arm32_ssh= set suffix=_d @@ -18,10 +19,10 @@ if "%arm32_ssh%"=="true" goto :Arm32Ssh :Arm32Ssh if "%SSH_SERVER%"=="" goto :Arm32SshHelp -if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe) + set PYTHON_EXE=%prefix%\python%suffix%.exe echo on -%SSH% %SSH_SERVER% %PYTHON_EXE% -m test.pythoninfo +ssh %SSH_SERVER% %PYTHON_EXE% -m test.pythoninfo exit /b %ERRORLEVEL% :Arm32SshHelp diff --git a/Tools/buildbot/test.bat b/Tools/buildbot/test.bat index 685f73d41ed..63b37d3ea90 100644 --- a/Tools/buildbot/test.bat +++ b/Tools/buildbot/test.bat @@ -2,6 +2,7 @@ rem Used by the buildbot "test" step. setlocal +set PATH=%PATH%;%SystemRoot%\SysNative\OpenSSH;%SystemRoot%\System32\OpenSSH set here=%~dp0 set rt_opts=-q -d set regrtest_args=-j1 @@ -31,11 +32,11 @@ if "%SSH_SERVER%"=="" goto :Arm32SshHelp if "%PYTHON_SOURCE%"=="" (set PYTHON_SOURCE=%here%..\..\) if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\) if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\) -if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe) + set TEMP_ARGS=--temp %REMOTE_PYTHON_DIR%temp set rt_args=%rt_opts% %dashU% -rwW --slowest --timeout=1200 --fail-env-changed %regrtest_args% %TEMP_ARGS% -%SSH% %SSH_SERVER% "set TEMP=%REMOTE_PYTHON_DIR%temp& %REMOTE_PYTHON_DIR%PCbuild\rt.bat" %rt_args% +ssh %SSH_SERVER% "set TEMP=%REMOTE_PYTHON_DIR%temp& %REMOTE_PYTHON_DIR%PCbuild\rt.bat" %rt_args% exit /b %ERRORLEVEL% :Arm32SshHelp