blob: c58c3fd27e1f50d37e1818396a124dc46fde50c8 [file] [log] [blame]
@echo off
@rem Invoked by Android Build Launchcontrol for continuous builds.
@rem Windows Android Studio Remote Bazel Execution Script.
setlocal enabledelayedexpansion
@rem Expected arguments:
set OUTDIR=%1
set DISTDIR=%2
set BUILDNUMBER=%3
set TESTTAGFILTERS=perfgate,-no_windows,-no_test_windows
@rem The current directory the executing script is in.
set SCRIPTDIR=%~dp0
CALL :NORMALIZE_PATH "%SCRIPTDIR%..\..\.."
set BASEDIR=%RETVAL%
@rem Generate a UUID for use as the Bazel invocation ID
FOR /F "tokens=*" %%F IN ('uuidgen') DO (
SET INVOCATIONID=%%F
)
echo "Called with the following: OUTDIR=%OUTDIR%, DISTDIR=%DISTDIR%, BUILDNUMBER=%BUILDNUMBER%, SCRIPTDIR=%SCRIPTDIR%, BASEDIR=%BASEDIR%"
echo "Command Log Location: %COMMANDLOGLOC%"
set TARGETS=
for /f %%i in (%SCRIPTDIR%targets.win) do set TARGETS=!TARGETS! %%i
@rem Run Bazel
CALL %SCRIPTDIR%bazel.cmd ^
--max_idle_secs=60 ^
test ^
--keep_going ^
--config=ci --config=ants ^
--build_metadata=ab_build_id=%BUILDNUMBER% ^
--build_metadata=ab_target=perfgate-win ^
--build_metadata=ANDROID_TEST_INVESTIGATE="http://ab/tests/bazel/%INVOCATIONID%" ^
--build_tag_filters=-no_windows ^
--invocation_id=%INVOCATIONID% ^
--build_event_binary_file=%DISTDIR%\bazel-%BUILDNUMBER%.bes ^
--test_tag_filters=%TESTTAGFILTERS% ^
--profile=%DISTDIR%\winprof%BUILDNUMBER%.json.gz ^
--nocache_test_results ^
--runs_per_test=//prebuilts/studio/buildbenchmarks:.*@5 ^
--runs_per_test=//tools/adt/idea/sync-perf-tests:intellij.android.sync-perf-tests.*@5 ^
--jobs=250 ^
-- ^
%TARGETS%
SET EXITCODE=%errorlevel%
IF NOT EXIST %DISTDIR%\ GOTO ENDSCRIPT
echo "<head><meta http-equiv="refresh" content="0; URL='https://fusion2.corp.google.com/invocations/%INVOCATIONID%'" /></head>" > %DISTDIR%\upsalite_test_results.html
@rem Extract test logs and perfgate data
CALL %SCRIPTDIR%bazel.cmd ^
--max_idle_secs=60 ^
run //tools/vendor/adt_infra_internal/rbe/logscollector:logs-collector ^
--config=ci ^
-- ^
-bes %DISTDIR%\bazel-%BUILDNUMBER%.bes ^
-perfzip %DISTDIR%\perfgate_data.zip
:ENDSCRIPT
@rem On windows we must explicitly shut down bazel. Otherwise file handles remain open.
CALL %SCRIPTDIR%bazel.cmd shutdown
set /a BAZEL_EXITCODE_TEST_FAILURES=3
IF %EXITCODE% equ %BAZEL_EXITCODE_TEST_FAILURES% (
EXIT /b 0
)
EXIT /b %EXITCODE%
@rem HELPER FUNCTIONS
:NORMALIZE_PATH
SET RETVAL=%~dpfn1
EXIT /B