Generates the configuration used by Satlab to pin the xTS test builds (CTS, GTS, STS, VTS) it runs per device and OS branch.
EDIT_ME_xts_pinned_test_builds.toml: Input file mapping each (device, OS branch) pair to desired xTS test builds.generate_xts_pinned_test_builds.py: Generator script.DO_NOT_EDIT_MANUALLY_xts_pinned_test_builds.json: Generated output artifact.Pins are keyed by the triple (device, OS branch, xTS type):
[brya.arsp-26Q2-desktop-release] gts = "android-gts-14-R2(14-17)-Preview7-15501425.zip" cts = 16222257 vts = 16222257 sts = "android-sts-17_sts-r55-linux-{arch}.zip" [brya.arsp-main] cts = 15901438 vts = 15901438
A device is a board or a model. It is the part of the build target before the first dash, which is how Satlab derives it at run time:
--target | device |
|---|---|
brya-userdebug | brya |
brya-trunk_staging-eng | brya |
zork-user | zork |
Authenticate with luci-auth:
luci-auth login -scopes https://www.googleapis.com/auth/androidbuild.internal https://www.googleapis.com/auth/drive.readonly
Edit EDIT_ME_xts_pinned_test_builds.toml.
python3 generate_xts_pinned_test_builds.py
Commit both EDIT_ME_xts_pinned_test_builds.toml and the generated DO_NOT_EDIT_MANUALLY_xts_pinned_test_builds.json, then upload a CL for review. Once merged, the generated file will be automatically copied to the GCS bucket.
Run from cfg/xts, on a working branch, after editing EDIT_ME_xts_pinned_test_builds.toml:
# Stop if there are local changes other than the edited input file. { [ -z "$(git status --porcelain --untracked-files=no -- ':(top,exclude)cfg/xts/EDIT_ME_xts_pinned_test_builds.toml')" ] || { echo "Aborting, working tree has other changes:"; git status --short --untracked-files=no; false; }; } && python3 generate_xts_pinned_test_builds.py && git add EDIT_ME_xts_pinned_test_builds.toml DO_NOT_EDIT_MANUALLY_xts_pinned_test_builds.json && git commit -m "satlab: cfg/xts Update pinned xTS test builds" && git cl upload