def release_quality_badge(input: str) -> str: """Generates a markdown badge for displaying a "Release Quality'.""" if not input: log.error( "ensure you pass a string 'quality' to release_quality_badge") return "" release_quality = input.upper() badge = "" if release_quality == "GA": badge = "general%20availability%20%28GA%29-brightgreen" elif release_quality == "STABLE": badge = "stable-brightgreen" elif release_quality == "PREVIEW": badge = "preview-yellow" elif release_quality == "BETA": badge = "beta-yellow" elif release_quality == "ALPHA": badge = "alpha-orange" elif release_quality == "EAP": badge = "EAP-yellow" elif release_quality == "DEPRECATED": badge = "deprecated-red" else: log.error( "Expected 'release_quality' to be one of: (ga, stable, preview, beta, alpha, eap, deprecated)" ) return "" return f"[![release level](https://img.shields.io/badge/release%20level-{badge}.svg?style=flat)](https://cloud.google.com/terms/launch-stages)"
def run(args, *, cwd=None, check=True): try: return subprocess.run( args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=cwd, check=check, encoding="utf-8", ) except subprocess.CalledProcessError as exc: log.error( f"Failed executing {' '.join((str(arg) for arg in args))}:\n\n{exc.stdout}" ) raise exc