From c55b06860cbdc673ac7cd34d171f4c42b871978b Mon Sep 17 00:00:00 2001 From: Mike Hunhoff Date: Tue, 7 Apr 2026 13:01:23 -0600 Subject: [PATCH] ci: fix web rules failure (#3003) * ci: fix web rules failure * address feedback * ruff cleanup --- .github/ruff.toml | 7 +++---- web/rules/scripts/build_rules.py | 6 +++++- web/rules/scripts/modified-dates.py | 5 +++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/ruff.toml b/.github/ruff.toml index 5ca01d99..1f72e122 100644 --- a/.github/ruff.toml +++ b/.github/ruff.toml @@ -1,6 +1,6 @@ line-length = 120 preview = true # Required to enable pre-release copyright header checks (CPY001) -explicit-preview-rules = true +lint.explicit-preview-rules = true exclude = [ # Exclude a variety of commonly ignored directories. @@ -28,7 +28,7 @@ exclude = [ # protobuf generated files "*_pb2.py", "*_pb2.pyi", - "rules" + "../rules" ] lint.select = [ @@ -40,12 +40,11 @@ lint.select = [ "ISC", # flake8-implicit-str-concat (detect accidental multi-line string issues) "T20", # flake8-print (prevent leftover print/pprint statements) "SIM", # flake8-simplify (code simplification upgrades) - "CPY", # flake8-copyright (header requirement enforcement) + "CPY001", # flake8-copyright (header requirement enforcement) "G", # flake8-logging-format (logging statement validation) "TD", # flake8-todos (TODO formatting requirements) "PTH", # flake8-use-pathlib (migration from os.path to Pathlib) "UP", # pyupgrade (modern Python syntax upgrades) - "CPY001", # flake8-copyright ] # Allow autofix for all enabled rules (when `--fix`) is provided. diff --git a/web/rules/scripts/build_rules.py b/web/rules/scripts/build_rules.py index 8aa3961a..951de134 100644 --- a/web/rules/scripts/build_rules.py +++ b/web/rules/scripts/build_rules.py @@ -127,7 +127,11 @@ def render_rule(timestamps, path: Path) -> str: return html_content -yaml_files = [str(p) for p in input_directory.glob("**/*.yml")] +yaml_files = [ + str(p) + for p in input_directory.glob("**/*.yml") + if not any(part.startswith(".") for part in p.relative_to(input_directory).parts) +] timestamps = {} for line in txt_file_path.read_text(encoding="utf-8").splitlines(): diff --git a/web/rules/scripts/modified-dates.py b/web/rules/scripts/modified-dates.py index 14cab2e1..66cfb769 100644 --- a/web/rules/scripts/modified-dates.py +++ b/web/rules/scripts/modified-dates.py @@ -29,9 +29,10 @@ assert start_dir.exists(), "start directory must exist" def get_yml_files_and_dates(start_dir: Path): yml_files = [] - for root, _, files in os.walk(start_dir): + for root, dirs, files in os.walk(start_dir): + dirs[:] = [d for d in dirs if not d.startswith(".")] for file in files: - if file.endswith(".yml") or file.endswith(".yaml"): + if file.endswith(".yml"): file_path = Path(root) / file proc = subprocess.run(