diff --git a/changelog.d/17318.misc b/changelog.d/17318.misc
new file mode 100644
index 0000000000..b0b21da23b
--- /dev/null
+++ b/changelog.d/17318.misc
@@ -0,0 +1 @@
+Make the release script create a release branch for Complement as well.
diff --git a/scripts-dev/release.py b/scripts-dev/release.py
index 9ea9b41505..5e519bb758 100755
--- a/scripts-dev/release.py
+++ b/scripts-dev/release.py
@@ -70,6 +70,7 @@ def cli() -> None:
pip install -e .[dev]
- A checkout of the sytest repository at ../sytest
+ - A checkout of the complement repository at ../complement
Then to use:
@@ -112,10 +113,12 @@ def _prepare() -> None:
# Make sure we're in a git repo.
synapse_repo = get_repo_and_check_clean_checkout()
sytest_repo = get_repo_and_check_clean_checkout("../sytest", "sytest")
+ complement_repo = get_repo_and_check_clean_checkout("../complement", "complement")
click.secho("Updating Synapse and Sytest git repos...")
synapse_repo.remote().fetch()
sytest_repo.remote().fetch()
+ complement_repo.remote().fetch()
# Get the current version and AST from root Synapse module.
current_version = get_package_version()
@@ -208,7 +211,15 @@ def _prepare() -> None:
"Which branch should the release be based on?", default=default
)
- for repo_name, repo in {"synapse": synapse_repo, "sytest": sytest_repo}.items():
+ for repo_name, repo in {
+ "synapse": synapse_repo,
+ "sytest": sytest_repo,
+ "complement": complement_repo,
+ }.items():
+ # Special case for Complement: `develop` maps to `main`
+ if repo_name == "complement" and branch_name == "develop":
+ branch_name = "main"
+
base_branch = find_ref(repo, branch_name)
if not base_branch:
print(f"Could not find base branch {branch_name} for {repo_name}!")
@@ -231,6 +242,12 @@ def _prepare() -> None:
if click.confirm("Push new SyTest branch?", default=True):
sytest_repo.git.push("-u", sytest_repo.remote().name, release_branch_name)
+ # Same for Complement
+ if click.confirm("Push new Complement branch?", default=True):
+ complement_repo.git.push(
+ "-u", complement_repo.remote().name, release_branch_name
+ )
+
# Switch to the release branch and ensure it's up to date.
synapse_repo.git.checkout(release_branch_name)
update_branch(synapse_repo)
@@ -630,6 +647,9 @@ def _merge_back() -> None:
else:
# Full release
sytest_repo = get_repo_and_check_clean_checkout("../sytest", "sytest")
+ complement_repo = get_repo_and_check_clean_checkout(
+ "../complement", "complement"
+ )
if click.confirm(f"Merge {branch_name} → master?", default=True):
_merge_into(synapse_repo, branch_name, "master")
@@ -643,6 +663,9 @@ def _merge_back() -> None:
if click.confirm("On SyTest, merge master → develop?", default=True):
_merge_into(sytest_repo, "master", "develop")
+ if click.confirm(f"On Complement, merge {branch_name} → main?", default=True):
+ _merge_into(complement_repo, branch_name, "main")
+
@cli.command()
def announce() -> None:
|