Beispiel #1
0
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)"
Beispiel #2
0
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