func()

in helpers/foundation-deployer/gcp/gcp.go [105:128]


func (g GCP) WaitBuildSuccess(t testing.TB, project, region, repo, commitSha, failureMsg string, maxRetry int) error {
	var filter string
	if commitSha == "" {
		filter = fmt.Sprintf("source.repoSource.repoName:%s", repo)
	} else {
		filter = fmt.Sprintf("source.repoSource.commitSha:%s", commitSha)
	}
	build := g.GetRunningBuildID(t, project, region, filter)
	if build != "" {
		status, err := g.GetFinalBuildState(t, project, region, build, maxRetry)
		if err != nil {
			return err
		}
		if status != StatusSuccess {
			return fmt.Errorf("%s\nSee:\nhttps://console.cloud.google.com/cloud-build/builds;region=%s/%s?project=%s\nfor details.\n", failureMsg, region, build, project)
		}
	} else {
		status := g.GetLastBuildStatus(t, project, region, filter)
		if status != StatusSuccess {
			return fmt.Errorf("%s\nSee:\nhttps://console.cloud.google.com/cloud-build/builds;region=%s/%s?project=%s\nfor details.\n", failureMsg, region, build, project)
		}
	}
	return nil
}