コード例 #1
0
def determine_release_tag(ctx: TagContext) -> None:
    click.secho("> Determining the release tag.", fg="cyan")
    head_ref = ctx.release_pr["head"]["ref"]
    click.secho(f"PR head ref is {head_ref}")
    match = re.match(r"release-(.+)-v(\d+\.\d+\.\d+)", head_ref)
    rp13_match = re.match(r"release-please--branches--(.+)--components--(.+)",
                          head_ref)
    title_match = re.match(r"chore\(.+\): release (.+) (\d+\.\d+\.\d+)",
                           ctx.release_pr["title"])

    if match is not None:
        ctx.package_name = match.group(1)
        ctx.release_version = match.group(2)
        ctx.release_tag = f"{ctx.package_name}/v{ctx.release_version}"
    elif rp13_match is not None and title_match is not None:
        ctx.package_name = title_match.group(1)
        ctx.release_version = title_match.group(2)
        ctx.release_tag = f"{ctx.package_name}/v{ctx.release_version}"

    if ctx.release_tag is None:
        click.secho(
            "I couldn't determine what the release tag should be from the PR's "
            f"head ref {head_ref}.",
            fg="red",
        )
        ctx.release_tag = click.prompt(
            "What should the release tag be (for example, google-cloud-storage/v1.2.3)?"
        )

    click.secho(f"Package name is {ctx.package_name}")
    click.secho(f"Package version is {ctx.release_version}")
    click.secho(f"Release tag is {ctx.release_tag}")
コード例 #2
0
ファイル: python.py プロジェクト: steffnay/releasetool
def determine_package_name_and_version(ctx: TagContext) -> None:
    click.secho("> Determining the package name and version.", fg="cyan")
    if "google-cloud-python" in ctx.upstream_repo:
        match = re.match(r"(?P<name>.+?)-(?P<version>\d+?\.\d+?(\.\d+)+)",
                         ctx.release_tag)
        ctx.package_name = match.group("name")
        ctx.release_version = match.group("version")
        click.secho(f"Package name: {ctx.package_name}, "
                    f"package version: {ctx.release_version}.")
    else:
        match = re.match(r"(.+)?(?P<version>\d+?\.\d+?(\.\d+)+)",
                         ctx.release_tag)
        ctx.release_version = match.group("version")
        click.secho(f"Package version: {ctx.release_version}.")
コード例 #3
0
ファイル: ruby.py プロジェクト: googleapis/releasetool
def determine_package_name_and_version(ctx: TagContext) -> None:
    click.secho(
        "> Determining the package name and version from your release tag.", fg="cyan"
    )
    match = re.match(r"^([a-z0-9-_]+)\/v(\d+.\d+.\d+)$", ctx.release_tag)
    ctx.package_name = match.group(1)
    ctx.release_version = match.group(2)
コード例 #4
0
def determine_package_name_and_version(ctx: TagContext) -> None:
    click.secho("> Determining the package name and version.", fg="cyan")
    match = re.match(r"(?P<name>.+?)-(?P<version>\d+?\.\d+?(\.\d+)+)", ctx.release_tag)
    ctx.package_name = match.group("name")
    ctx.release_version = match.group("version")
    click.secho(
        f"Package name: {ctx.package_name}, " f"package version: {ctx.release_version}."
    )
コード例 #5
0
ファイル: ruby.py プロジェクト: tswast/releasetool
def determine_release_tag(ctx: TagContext) -> None:
    click.secho("> Determining the release tag.", fg="cyan")
    head_ref = ctx.release_pr["head"]["ref"]
    click.secho(f"PR head ref is {head_ref}")
    match = re.match(r"^release-([a-z-]+)-v(\d\.\d.\d)$", head_ref)

    if match is not None:
        ctx.package_name = match.group(1)
        ctx.release_version = match.group(2)
        ctx.release_tag = f"{ctx.package_name}/v{ctx.release_version}"
    else:
        click.secho(
            "I couldn't determine what the release tag should be from the PR's"
            f"head ref {head_ref}.",
            fg="red",
        )
        ctx.release_tag = click.prompt(
            "What should the release tag be (for example, google-cloud-storage/v1.2.3)?"
        )
        determine_package_name_and_version(ctx)

    click.secho(f"Package name is {ctx.package_name}")
    click.secho(f"Package version is {ctx.release_version}")
    click.secho(f"Release tag is {ctx.release_tag}")
コード例 #6
0
ファイル: nodejs.py プロジェクト: portintegration/releasetool
def determine_package_version(ctx: TagContext) -> None:
    click.secho("> Determining the package version.", fg="cyan")
    match = re.match(r"(?P<version>v?\d+\.\d+\.\d+)", ctx.release_tag)
    ctx.release_version = match.group("version")
    click.secho(f"package version: {ctx.release_version}.")
コード例 #7
0
ファイル: java.py プロジェクト: portintegration/releasetool
def determine_package_name_and_version(ctx: TagContext) -> None:
    click.secho("> Determining the release version.", fg="cyan")
    match = re.match(r"v(\d+\.\d+\.\d+)", ctx.release_tag)
    ctx.release_version = match.group(1)
    click.secho(f"Package version: {ctx.release_version}.")
コード例 #8
0
def determine_package_version(ctx: TagContext) -> None:
    click.secho("> Determining the package version.", fg="cyan")
    # strip the leading 'v' from the tag
    ctx.release_version = re.sub(r"^v", "", ctx.release_tag)
    click.secho(f"Package version: {ctx.release_version}.")