in scripts/release.py [0:0]
def pre() -> None:
# Ensure we have inputs
release_version = os.getenv("RELEASE_VERSION")
if not release_version:
return print(
"You must define `RELEASE_VERSION` environment variable.", file=sys.stderr
)
if not re.match(r"(\d){1,2}\.(\d){1,2}\.(\d){1,2}", release_version):
return print(
"The `RELEASE_VERSION` should match semver format.", file=sys.stderr
)
# Create a new branch
# TODO: if you change the branch_name, please update the
# condition at .github/workflows/ci.yml
branch_name = f"feat/pre-release-v{release_version}"
git = detect_git()
git("checkout", "-b", branch_name, _out=sys.stdout, _err=sys.stderr)
# Update all files
__set_version(release_version)
# Update install file
__set_version_install_file(release_version)
# Push release branch
git("add", "--all", _out=sys.stdout, _err=sys.stderr)
git(
"commit",
"-m",
f"release: terranova v{release_version}",
"--no-verify",
_out=sys.stdout,
_err=sys.stderr,
)
git("push", "origin", branch_name, _out=sys.stdout, _err=sys.stderr)
# Create a PR
gh = detect_gh()
gh(
"pr",
"create",
"--fill",
"--base=main",
f"--head={branch_name}",
_out=sys.stdout,
_err=sys.stderr,
)