summaryrefslogtreecommitdiff
path: root/ci/test_mapping_module_retriever.py
AgeCommit message (Collapse)Author
2024-08-27Implement get_build_targets_impl in GeneralTestsOptimizer Luca Farsi
Implement functionality in GeneralTestsOptimizer to find what targets to build. This logic is fairly complex and involves checking for test configs that download general-tests.zip. Then the configs are checked to see if they're proper test mapping tests (if they use the 'test-mapping-test-group' option). If they are, then TEST_MAPPING modules are scanned to see if the list of changed files would cause any test mapping modules to run. The tests are then further filtered by test-mapping-test-groups used in the test configs. In case that a test uses general-tests.zip but does not specify 'test-mapping-test-group' then all bets are off and general-tests.zip is built in its entirety. package_outputs is still unimplemented so this will need to be implemented before the optimization can be enabled. Test: atest build_test_suites_test && atest optimized_targets_test Bug: 358215235 Change-Id: I6a7eebfd1b06b380799292eb2019ac17c9af5367
2024-01-11Add a script to optimize Test Mapping builds Luca Farsi
Move the test build command to a script that lives in-source and intended to be called by the Android CI build system. This script optimizes the build when change information is available by only building relevant test modules. More specifically, only 'affected' test modules listed in Test Mapping configuration files are built. Using this script is expected to reduce build times and generate a smaller `general-tests.zip` file which had increased to over 30 GB. Test: ./build/make/ci/build_test_suites --target_product aosp_x86_64 --target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only --dist_dir <dist_dir> --change_info <change_info_file> <extra_targets> Bug: 314171817 Change-Id: Ie2f8c066f5dd1cd13454141e55956328303fd79d