ci-windows-bootstrap.bat 2.25 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
@echo off

REM bootstrapping script for stage 2 ci scripts
REM to avoid repetitive cloning, in lieu of the sgitlab tickyrunners
REM we copy the entire content of our bild folder to an artifacts subdolder 
REM and share it with other buildstages.
REM
REM initial building is considered as stage 0,this script is stage 1 all 
REM following stages are stage 2. The purpos of this script is to move all 
REM files from the artifacts directory back to the root directory and call 
REM the script for this ci job.
REM This way the stage 2 script can delete the artifacts folder safely, as
REM deleting a script that is running will cause an error on windows systems.
REM 

REM #######################################
REM # bootstrap level 0 
REM #######################################




IF "%BOOTSTRAPLEVEL%" == "" ( 
set BOOTSTRAPLEVEL=0
)

IF "%BOOTSTRAPLEVEL%" == "0" (

REM copy all files from artifacts folder to root folder
echo %TIME%: Restoring artifacts from artifacts directory ...
robocopy artifacts ./ /e /NFL /NDL /NJH /NJS /nc /ns /np

REM set the bootstrap level to 1
echo %TIME%: Entering bootstrap level 1 ...
set BOOTSTRAPLEVEL=1

REM call the copy of this script outside artifacts folder
call %~dp0\..\..\CI\ci-windows-bootstrap.bat

REM return the error code if not 0
IF "%errorlevel%" NEQ "0" exit /b %errorlevel%
) else (

REM #######################################
REM # bootstrap level 1
REM #######################################
REM remove the artifacts folder, it may cause problems with e.g. cmake
echo %Time%: Removing artifacts directory ...
rmdir /Q /S artifacts

REM call the stage 2 script
echo %Time%: Calling %~dp0\%STAGE2SCRIPT% ...
call %~dp0\%STAGE2SCRIPT%

REM store the error code of the stage 2 script
set bootstrapretval=%errorlevel%

REM copy this script back to the artifacts folder 
if not exist ./artifacts (
echo %Time%: recrerating artifacts directory ...
cd %~dp0\..
mkdir artifacts
cd artifacts
mkdir CI
cd ..
)
echo %Time%: restoring bootstrap script ...
68
copy %~dp0\ci-windows-bootstrap.bat artifacts\CI\ci-windows-bootstrap.bat
69 70 71 72 73

REM when this script returns, the windows Command interpreter will look
REM at the original position for the script to continue after the the call command
REM of level 0
IF "%bootstrapretval%" NEQ "0" exit /b %bootstrapretval%
74
)