github.com/discordapp/buildkite-agent@v2.6.6+incompatible/templates/bootstrap.bat (about) 1 @echo off 2 3 REM enable delayed expansion so that ERRORLEVEL is evaluated properly inside IF blocks 4 SETLOCAL ENABLEDELAYEDEXPANSION 5 6 echo ~~~ Preparing build folder 7 8 SET SANITIZED_PROJECT_SLUG=%BUILDKITE_PROJECT_SLUG:/=\% 9 SET BUILDKITE_BUILD_DIR=%BUILDKITE_BUILD_PATH%\%BUILDKITE_AGENT_NAME%\%SANITIZED_PROJECT_SLUG% 10 11 REM Add the BUILDKITE_BIN_PATH to the PATH 12 13 SET PATH=%PATH%;%BUILDKITE_BIN_PATH% 14 15 REM Create the build directory 16 17 IF NOT EXIST "%BUILDKITE_BUILD_DIR%" ( 18 REM Create the build directory 19 20 ECHO ^> MKDIR "%BUILDKITE_BUILD_DIR%" 21 MKDIR "%BUILDKITE_BUILD_DIR%" 22 IF !ERRORLEVEL! NEQ 0 EXIT !ERRORLEVEL! 23 ) 24 25 REM Move to the build directory 26 27 ECHO ^> CD /D "%BUILDKITE_BUILD_DIR%" 28 CD /D "%BUILDKITE_BUILD_DIR%" 29 IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL% 30 31 REM Do we need to do a git checkout? 32 33 IF NOT EXIST ".git" ( 34 ECHO ^> git clone %BUILDKITE_REPO% 35 CALL git clone "%BUILDKITE_REPO%" . -v 36 IF !ERRORLEVEL! NEQ 0 EXIT !ERRORLEVEL! 37 ) 38 39 REM Clean the repo 40 41 ECHO ^> git clean -fdq 42 CALL git clean -fdq 43 IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL% 44 45 REM Determine if a GitHub pull request fetch is possible 46 47 SET PULL_REQUEST_FETCH=false 48 IF NOT "%BUILDKITE_PULL_REQUEST%" == "false" ( 49 IF "%BUILDKITE_PROJECT_PROVIDER%" == "github" SET PULL_REQUEST_FETCH=true 50 IF "%BUILDKITE_PROJECT_PROVIDER%" == "github_enterprise" SET PULL_REQUEST_FETCH=true 51 ) 52 53 if "%PULL_REQUEST_FETCH%" == "true" ( 54 REM Fetch the code using the special GitHub PR syntax 55 56 ECHO ^> git fetch origin "+refs/pull/%BUILDKITE_PULL_REQUEST%/head:" 57 CALL git fetch origin "+refs/pull/%BUILDKITE_PULL_REQUEST%/head:" 58 ) ELSE ( 59 REM Fetch the latest code 60 61 ECHO ^> git fetch -q 62 CALL git fetch -q 63 IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL% 64 65 REM Only reset to the branch if we're not on a tag 66 67 IF "%BUILDKITE_TAG%" == "" ( 68 ECHO ^> git reset --hard origin/%BUILDKITE_BRANCH% 69 CALL git reset --hard origin/%BUILDKITE_BRANCH% 70 IF !ERRORLEVEL! NEQ 0 EXIT !ERRORLEVEL! 71 ) 72 ) 73 74 ECHO ^> git checkout -qf "%BUILDKITE_COMMIT%" 75 CALL git checkout -qf "%BUILDKITE_COMMIT%" 76 IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL% 77 78 ECHO ~~~ Running build script 79 80 IF "%BUILDKITE_SCRIPT_PATH%" == "" ( 81 echo ERROR: No script path has been set for this project. Please go to \"Project Settings\" and add the path to your build script 82 exit 1 83 ) ELSE ( 84 ECHO ^> CALL %BUILDKITE_SCRIPT_PATH% 85 CALL %BUILDKITE_SCRIPT_PATH% 86 SET EXIT_STATUS=!ERRORLEVEL! 87 ) 88 89 IF NOT "%BUILDKITE_ARTIFACT_PATHS%" == "" ( 90 REM If you want to upload artifacts to your own server, uncomment the lines below 91 REM and replace the AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY with keys to your 92 REM own bucket. 93 REM 94 REM SET AWS_SECRET_ACCESS_KEY=yyy 95 REM SET AWS_ACCESS_KEY_ID=xxx 96 REM SET AWS_S3_ACL=private 97 REM call buildkite-agent artifact upload "%BUILDKITE_ARTIFACT_PATHS%" "s3://name-of-your-s3-bucket/%BUILDKITE_JOB_ID%" 98 99 REM Show the output of the artifact uploder when in debug mode 100 IF "%BUILDKITE_AGENT_DEBUG%" == "true" ( 101 ECHO ~~~ Uploading Artifacts 102 ECHO ^> buildkite-agent artifact upload "%BUILDKITE_ARTIFACT_PATHS%" 103 call buildkite-agent artifact upload "%BUILDKITE_ARTIFACT_PATHS%" 104 IF !ERRORLEVEL! NEQ 0 EXIT !ERRORLEVEL! 105 ) ELSE ( 106 call buildkite-agent artifact upload "%BUILDKITE_ARTIFACT_PATHS%" > nul 2>&1 107 IF !ERRORLEVEL! NEQ 0 EXIT !ERRORLEVEL! 108 ) 109 ) 110 111 EXIT %EXIT_STATUS%