You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/scripts/release_branch.py

44 lines
1.0 KiB
Python

"""
python scripts/release_branch.py anthropic bagatur
"""
import glob
import tomllib
import toml
import subprocess
import sys
def main(*args):
pkg = args[1]
if len(args) >= 2:
user = args[2]
else:
user = "auto"
for path in glob.glob("./libs/**/pyproject.toml", recursive=True):
if pkg in path:
break
with open(path, "rb") as f:
pyproject = tomllib.load(f)
major, minor, patch = pyproject["tool"]["poetry"]["version"].split(".")
patch = str(int(patch) + 1)
bumped = ".".join((major, minor, patch))
pyproject["tool"]["poetry"]["version"] = bumped
with open(path, "w") as f:
toml.dump(pyproject, f)
branch = f"{user}/{pkg}_{bumped.replace('.', '_')}"
print(
subprocess.run(
f"git checkout -b {branch}; git commit -am '{pkg}[patch]: Release {bumped}'; git push -u origin {branch}",
shell=True,
capture_output=True,
text=True,
)
)
if __name__ == "__main__":
main(*sys.argv)