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%