Browse Source

Update the `check_schema_delta` script to account for when the schema version has been bumped locally (#15466)

tags/v1.83.0rc1
Shay 1 year ago
committed by GitHub
parent
commit
710502c6d8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 2 deletions
  1. +1
    -0
      changelog.d/15466.bugfix
  2. +24
    -2
      scripts-dev/check_schema_delta.py

+ 1
- 0
changelog.d/15466.bugfix View File

@@ -0,0 +1 @@
Update the check_schema_delta script to account for when the schema version has been bumped locally.

+ 24
- 2
scripts-dev/check_schema_delta.py View File

@@ -40,10 +40,32 @@ def main(force_colors: bool) -> None:
exec(r, locals)
current_schema_version = locals["SCHEMA_VERSION"]

click.secho(f"Current schema version: {current_schema_version}")

diffs: List[git.Diff] = repo.remote().refs.develop.commit.diff(None)

# Get the schema version of the local file to check against current schema on develop
with open("synapse/storage/schema/__init__.py", "r") as file:
local_schema = file.read()
new_locals: Dict[str, Any] = {}
exec(local_schema, new_locals)
local_schema_version = new_locals["SCHEMA_VERSION"]

if local_schema_version != current_schema_version:
# local schema version must be +/-1 the current schema version on develop
if abs(local_schema_version - current_schema_version) != 1:
click.secho(
"The proposed schema version has diverged more than one version from develop, please fix!",
fg="red",
bold=True,
color=force_colors,
)
click.get_current_context().exit(1)

# right, we've changed the schema version within the allowable tolerance so
# let's now use the local version as the canonical version
current_schema_version = local_schema_version

click.secho(f"Current schema version: {current_schema_version}")

seen_deltas = False
bad_files = []
for diff in diffs:


Loading…
Cancel
Save