summary refs log tree commit diff
path: root/.ci/scripts/check_lockfile.py
blob: 19cec7ddd6a3f8007df0f18d2f653bf614deefa4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/env python
import sys

if sys.version_info < (3, 11):
    raise RuntimeError("Requires at least Python 3.11, to import tomllib")

import tomllib

with open("poetry.lock", "rb") as f:
    lockfile = tomllib.load(f)

try:
    lock_version = lockfile["metadata"]["lock-version"]
    assert lock_version == "2.0"
except Exception:
    print(
        """\
    Lockfile is not version 2.0. You probably need to upgrade poetry on your local box
    and re-run `poetry lock --no-update`. See the Poetry cheat sheet at
    https://element-hq.github.io/synapse/develop/development/dependencies.html
    """
    )
    raise