Skip to content

Commit

Permalink
use stable flag
Browse files Browse the repository at this point in the history
  • Loading branch information
cdkini committed Nov 14, 2023
1 parent 8d6366c commit 82f79a1
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 22 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ The tool is designed to do pretty much EVERYTHING for you. Do not run isolated `
#### tag
Run `ge_releaser tag "<commit_hash>" <release_version>`.
![tag](./assets/tag.png)
- This will tag that particular commit with your desired release SemVer.
- This will tag that particular commit with your desired release SemVer; note that the default will be a pre-release candidate (use `--stable` for a proper release).
- If you wish to tag the latest commit on the trunk, just use `HEAD` instead of a commit hash.
- **IMPORTANT** - Wait until the Azure pipeline finishes running and confirm proper publishing to PyPI.
- **IMPORTANT** - If releasing a pre-release candidate, please use the `--pre-release` boolean flag.

Make sure to ask the team about any necessary PR's that might need to go in before running this command.
```bash
Expand Down
6 changes: 3 additions & 3 deletions ge_releaser/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@ def cli(ctx: click.Context) -> None:
@cli.command(name="tag", help="Tag the new release")
@click.argument("commit", type=str, nargs=1, required=True)
@click.argument("version_number", type=str, nargs=1, required=True)
@click.option("--pre-release", "is_pre_release", default=False, is_flag=True)
@click.option("--stable", "is_stable_release", default=False, is_flag=True)
@click.pass_obj
def tag_cmd(
git: GitService, commit: str, version_number: str, is_pre_release: bool
git: GitService, commit: str, version_number: str, is_stable_release: bool
) -> None:
tag(
git=git,
commit=commit,
version_number=version_number,
is_pre_release=is_pre_release,
is_stable_release=is_stable_release
)


Expand Down
34 changes: 17 additions & 17 deletions ge_releaser/cmd/tag.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,33 @@


def tag(
git: GitService, commit: str, version_number: str, is_pre_release: bool
git: GitService, commit: str, version_number: str, is_stable_release: bool
) -> None:
_check_version_validity(
version_number=version_number, is_pre_release=is_pre_release
version_number=version_number, is_stable_release=is_stable_release
)
click.secho("[tag]", bold=True, fg="blue")
# click.secho("[tag]", bold=True, fg="blue")

_tag_release_commit(git, commit, version_number)
click.secho(f" * Tagged commit '{commit}' on develop (1/2)", fg="yellow")
# _tag_release_commit(git, commit, version_number)
# click.secho(f" * Tagged commit '{commit}' on develop (1/2)", fg="yellow")

git.push_branch_to_remote(branch=version_number, set_upstream=False)
click.secho(" * Pushed tag to remote (2/2)", fg="yellow")
# git.push_branch_to_remote(branch=version_number, set_upstream=False)
# click.secho(" * Pushed tag to remote (2/2)", fg="yellow")

_print_next_steps(version_number=version_number, is_pre_release=is_pre_release)
_print_next_steps(version_number=version_number, is_stable_release=is_stable_release)


def _check_version_validity(version_number: str, is_pre_release: bool) -> None:
def _check_version_validity(version_number: str, is_stable_release: bool) -> None:
v = version.parse(version_number)

if is_pre_release and not v.is_prerelease:
if is_stable_release and v.is_prerelease:
raise ValueError(
"Passed in --pre-release flag but did not provide a version with a pre-release suffix ('a', 'b', 'rc')"
"Passed in --stable flag but provided an invalid version with a pre-release suffix"
)

if not is_pre_release and v.is_prerelease:
if not is_stable_release and not v.is_prerelease:
raise ValueError(
"Passed in a pre-release version but did not turn on the --pre-release flag"
"Passed in a stable version but did not turn on the --stable flag"
)


Expand All @@ -47,13 +47,13 @@ def _tag_release_commit(git: GitService, commit: str, release_version: str) -> N
git.tag_commit(commit=commit, version=release_version)


def _print_next_steps(version_number: str, is_pre_release: bool) -> None:
def _print_next_steps(version_number: str, is_stable_release: bool) -> None:
tag_url = os.path.join(GxURL.RELEASES, "tag", version_number)

if is_pre_release:
msg = "No additional steps are required when publishing a pre-release."
else:
if is_stable_release:
msg = "Please wait for the build process and PyPI publishing to complete before moving to the `prep` cmd."
else:
msg = "No additional steps are required when publishing a pre-release."

click.secho(f"\n{msg}", fg="green")
click.echo(f"Link to tag: {tag_url}")
Expand Down

0 comments on commit 82f79a1

Please sign in to comment.