xTS Pinned Test Builds Generator

Purpose

Generates the configuration used by Satlab to pin the xTS test builds (CTS, GTS, STS, VTS) it runs per device and OS branch.

Files

  • 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.

Input format

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

Devices

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:

--targetdevice
brya-userdebugbrya
brya-trunk_staging-engbrya
zork-userzork

How to Use

  1. Prerequisites

Authenticate with luci-auth:

luci-auth login -scopes https://www.googleapis.com/auth/androidbuild.internal https://www.googleapis.com/auth/drive.readonly
  1. Update Input Configuration

Edit EDIT_ME_xts_pinned_test_builds.toml.

  1. Generate the Config
python3 generate_xts_pinned_test_builds.py
  1. Create CL

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.

All Steps in One Go

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