X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/882d8795c6ff65c02f2657e596391748d1b6b7f5:/scripts/check_pre_commit_rev_in_example.py..refs/heads/master:/.vim/bundle/black/scripts/static/git-logo.png diff --git a/scripts/check_pre_commit_rev_in_example.py b/scripts/check_pre_commit_rev_in_example.py deleted file mode 100644 index 107c644..0000000 --- a/scripts/check_pre_commit_rev_in_example.py +++ /dev/null @@ -1,54 +0,0 @@ -""" -Check that the rev value in the example pre-commit configuration matches -the latest version of Black. This saves us from forgetting to update that -during the release process. - -Why can't we just use `rev: stable` and call it a day? Well pre-commit -won't auto update the hook as you may expect (and for good reasons, some -technical and some pragmatic). Encouraging bad practice is also just -not ideal. xref: https://github.com/psf/black/issues/420 -""" - -import os -import sys - -import commonmark -import yaml -from bs4 import BeautifulSoup # type: ignore[import] - - -def main(changes: str, source_version_control: str) -> None: - changes_html = commonmark.commonmark(changes) - changes_soup = BeautifulSoup(changes_html, "html.parser") - headers = changes_soup.find_all("h2") - latest_tag, *_ = [ - header.string for header in headers if header.string != "Unreleased" - ] - - source_version_control_html = commonmark.commonmark(source_version_control) - source_version_control_soup = BeautifulSoup( - source_version_control_html, "html.parser" - ) - pre_commit_repos = yaml.safe_load( - source_version_control_soup.find(class_="language-yaml").string - )["repos"] - - for repo in pre_commit_repos: - pre_commit_rev = repo["rev"] - if not pre_commit_rev == latest_tag: - print( - "Please set the rev in ``source_version_control.md`` to be the latest " - f"one.\nExpected {latest_tag}, got {pre_commit_rev}.\n" - ) - sys.exit(1) - - -if __name__ == "__main__": - with open("CHANGES.md", encoding="utf-8") as fd: - changes = fd.read() - with open( - os.path.join("docs", "integrations", "source_version_control.md"), - encoding="utf-8", - ) as fd: - source_version_control = fd.read() - main(changes, source_version_control)