From 0bd48e5fff50d0b2cac560a418aa7a2b2d113688 Mon Sep 17 00:00:00 2001 From: Richard Tibbles Date: Fri, 12 Jan 2024 08:00:44 -0800 Subject: [PATCH] Add pre-commit hook to check for uncommitted regenerated spec files. Skip hook when calling pre-commit in generate script to avoid recursion. --- .pre-commit-config.yaml | 8 ++++++++ scripts/generate_from_specs.py | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b52e549..20726dc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,13 @@ exclude: (\.git/|\.tox/|\.venv/|le_utils\.egg-info) repos: +- repo: local + hooks: + - id: rebuild-from-specs + name: Regenerate files + description: Regenerates files when specs or version has changed + entry: make build + language: system + files: (spec/.*\.json|setup\.py)$ - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.0.0 hooks: diff --git a/scripts/generate_from_specs.py b/scripts/generate_from_specs.py index 8032f58..48d52c7 100644 --- a/scripts/generate_from_specs.py +++ b/scripts/generate_from_specs.py @@ -307,4 +307,7 @@ def set_package_json_version(): output_files += set_package_json_version() - subprocess.call(["pre-commit", "run", "--files"] + output_files) + env = os.environ.copy() + env["SKIP"] = "rebuild-from-specs" + + subprocess.call(["pre-commit", "run", "--files"] + output_files, env=env)