multiproduct_kati: Support skipping known-broken products
This can make it easier to add build/soong/build_test.sh to continuous
build branches to catch new breaks, but where some products are known to
be broken.
Test: build/soong/build_test.bash --skip-products aosp_arm,aosp_arm64
Change-Id: Ib240570b68957077047ca75b78658429cb8c6a49
diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go
index e771c15..296000b 100644
--- a/cmd/multiproduct_kati/main.go
+++ b/cmd/multiproduct_kati/main.go
@@ -55,6 +55,8 @@
var buildVariant = flag.String("variant", "eng", "build variant to use")
+var skipProducts = flag.String("skip-products", "", "comma-separated list of products to skip (known failures, etc)")
+
const errorLeadingLines = 20
const errorTrailingLines = 20
@@ -225,8 +227,27 @@
if err != nil {
log.Fatal(err)
}
- products := strings.Fields(vars["all_named_products"])
- log.Verbose("Got product list:", products)
+ productsList := strings.Fields(vars["all_named_products"])
+
+ products := make([]string, 0, len(productsList))
+ skipList := strings.Split(*skipProducts, ",")
+ skipProduct := func(p string) bool {
+ for _, s := range skipList {
+ if p == s {
+ return true
+ }
+ }
+ return false
+ }
+ for _, product := range productsList {
+ if !skipProduct(product) {
+ products = append(products, product)
+ } else {
+ log.Verbose("Skipping: ", product)
+ }
+ }
+
+ log.Verbose("Got product list: ", products)
status.SetTotal(len(products))