import argparse | |
import pathlib | |
import textwrap | |
current_dir = (pathlib.Path(__file__).parent / "..").resolve() | |
TEMPLATE = """# Upcoming Release | |
## New Features: | |
No changes to highlight. | |
## Bug Fixes: | |
No changes to highlight. | |
## Other Changes: | |
No changes to highlight. | |
## Breaking Changes: | |
No changes to highlight. | |
""" | |
def format_release_notes(latest_version: str): | |
upcoming = current_dir / "CHANGELOG.md" | |
with open(upcoming, "r") as latest: | |
lines = latest.readlines() | |
assert "# Upcoming Release" in lines[0] | |
with open(upcoming, "w") as latest: | |
if latest_version.startswith("v"): | |
lines[0] = latest_version.replace("v", "# Version ") + "\n" | |
else: | |
lines[0] = "# Version " + latest_version + "\n" | |
lines = textwrap.dedent(TEMPLATE).splitlines(keepends=True) + lines | |
latest.writelines(lines) | |
if __name__ == "__main__": | |
parser = argparse.ArgumentParser(description="Upload a demo to a space") | |
parser.add_argument("latest_version", type=str, help="Name of demo to upload") | |
args = parser.parse_args() | |
format_release_notes(args.latest_version) | |