Merge "Add a warning message about missing gcert at the end of the build" am: 4e3c26602f

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2078459

Change-Id: I8274f0a1602d86d896ebebafa03635c4618647d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Kousik Kumar
2022-04-28 20:40:57 +00:00
committed by Automerger Merge Worker
2 changed files with 25 additions and 0 deletions

View File

@@ -1223,6 +1223,21 @@ func (c *configImpl) rbeAuth() (string, string) {
return "RBE_use_application_default_credentials", "true"
}
func (c *configImpl) IsGooglerEnvironment() bool {
cf := "ANDROID_BUILD_ENVIRONMENT_CONFIG"
if v, ok := c.environ.Get(cf); ok {
return v == "googler"
}
return false
}
func (c *configImpl) GoogleProdCredsExist() bool {
if _, err := exec.Command("/usr/bin/prodcertstatus", "--simple_output", "--nocheck_loas").Output(); err != nil {
return false
}
return true
}
func (c *configImpl) UseRemoteBuild() bool {
return c.UseGoma() || c.UseRBE()
}

View File

@@ -119,6 +119,7 @@ func startRBE(ctx Context, config Config) {
}
func stopRBE(ctx Context, config Config) {
defer checkProdCreds(ctx, config)
cmd := Command(ctx, config, "stopRBE bootstrap", rbeCommand(ctx, config, bootstrapCmd), "-shutdown")
output, err := cmd.CombinedOutput()
if err != nil {
@@ -131,6 +132,15 @@ func stopRBE(ctx Context, config Config) {
}
}
func checkProdCreds(ctx Context, config Config) {
if !config.IsGooglerEnvironment() || config.GoogleProdCredsExist() {
return
}
fmt.Fprintln(ctx.Writer, "")
fmt.Fprintln(ctx.Writer, "\033[33mWARNING: Missing LOAS credentials, please run `gcert`. This will result in failing RBE builds in the future, see go/build-fast#authentication.\033[0m")
fmt.Fprintln(ctx.Writer, "")
}
// DumpRBEMetrics creates a metrics protobuf file containing RBE related metrics.
// The protobuf file is created if RBE is enabled and the proxy service has
// started. The proxy service is shutdown in order to dump the RBE metrics to the