|
| 1 | +@echo off |
| 2 | +rem Used by the buildbot "remotedeploy" step. |
| 3 | +setlocal |
| 4 | + |
| 5 | +set PATH=%PATH%;%SystemRoot%\SysNative\OpenSSH;%SystemRoot%\System32\OpenSSH |
| 6 | +set here=%~dp0 |
| 7 | +set arm32_ssh= |
| 8 | + |
| 9 | +:CheckOpts |
| 10 | +if "%1"=="-arm32" (set arm32_ssh=true) & shift & goto CheckOpts |
| 11 | +if NOT "%1"=="" (echo unrecognized option %1) & goto Arm32SshHelp |
| 12 | + |
| 13 | +if "%arm32_ssh%"=="true" goto :Arm32Ssh |
| 14 | + |
| 15 | +:Arm32Ssh |
| 16 | +if "%SSH_SERVER%"=="" goto :Arm32SshHelp |
| 17 | + |
| 18 | +ssh %SSH_SERVER% echo Make sure we can find SSH and SSH_SERVER variable is valid |
| 19 | +if %ERRORLEVEL% NEQ 0 (echo SSH does not work) & exit /b %ERRORLEVEL% |
| 20 | + |
| 21 | +if "%PYTHON_SOURCE%"=="" (set PYTHON_SOURCE=%here%..\..\) |
| 22 | +if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\) |
| 23 | +if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\) |
| 24 | +echo PYTHON_SOURCE = %PYTHON_SOURCE% |
| 25 | +echo REMOTE_PYTHON_DIR = %REMOTE_PYTHON_DIR% |
| 26 | + |
| 27 | +ssh %SSH_SERVER% "if EXIST %REMOTE_PYTHON_DIR% (rd %REMOTE_PYTHON_DIR% /s/q)" |
| 28 | +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PCBuild\arm32" |
| 29 | +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%temp" |
| 30 | +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%Modules" |
| 31 | +ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PC" |
| 32 | +for /f "USEBACKQ" %%i in (`dir PCbuild\*.bat /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" |
| 33 | +for /f "USEBACKQ" %%i in (`dir PCbuild\*.py /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild" |
| 34 | +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.exe /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" |
| 35 | +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.pyd /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" |
| 36 | +for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.dll /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32" |
| 37 | +scp -r "%PYTHON_SOURCE%Include" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Include" |
| 38 | +scp -r "%PYTHON_SOURCE%Lib" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Lib" |
| 39 | +scp -r "%PYTHON_SOURCE%Tools" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Tools" |
| 40 | +scp "%PYTHON_SOURCE%Modules\Setup" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Modules" |
| 41 | +scp "%PYTHON_SOURCE%PC\pyconfig.h" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PC" |
| 42 | + |
| 43 | +exit /b %ERRORLEVEL% |
| 44 | + |
| 45 | +:Arm32SshHelp |
| 46 | +echo SSH_SERVER environment variable must be set to administrator@[ip address] |
| 47 | +echo where [ip address] is the address of a Windows IoT Core ARM32 device. |
| 48 | +echo. |
| 49 | +echo The test worker should have the SSH agent running. |
| 50 | +echo Also a key must be created with ssh-keygen and added to both the buildbot worker machine |
| 51 | +echo and the ARM32 worker device: see https://docs.microsoft.com/en-us/windows/iot-core/connect-your-device/ssh |
| 52 | +exit /b 127 |
0 commit comments