refactor(ruff): линтер стенда говорит на языке дагов, а не младшего образа

- Зачем:
  - target-version по младшему образу (Superset, 3.10) занижал проверку для дагов: они бегут на 3.13, а ruff предлагал им идиомы старее их рантайма. На учебном стенде это вывернуто наизнанку — менти читает и правит именно даги.
  - защита от Superset была верна не по устройству, а по сегодняшнему содержимому одного файла настройки.
- Что:
  - target-version в корневом ruff.toml поднят до py313, комментарий переписан.
  - две находки UP017 в дагах починены: datetime.timezone.utc заменён на datetime.UTC.
  - из карты проверок убран пункт про разную строгость дверей — с равными версиями он потерял предмет.
- Проверка:
  - make lint; make config-test — зелёные.
  - make -C generator lint — зелёный; исходники генератора не менялись.
  - находок ruff в дагах теперь ровно четыре, как обещал тикет: два переформата и два UP017.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-09 21:58:48 +03:00
co-authored by Claude Opus 5
parent e4e5688775
commit c9b11224d2
4 changed files with 10 additions and 15 deletions
+7 -7
View File
@@ -7,13 +7,13 @@
# На каком Python побежит код, ruff сам не знает: у генератора он берёт ответ
# из `requires-python`, а у стенда спрашивать некого — даги и Superset живут
# внутри образов. Замер 9 августа 2026 года: `apache/airflow:3.3.0` несёт
# Python 3.13.14, `apache/superset:6.1.0` — 3.10.20. Стоит младшая из двух,
# иначе ruff предложил бы Superset синтаксис, которого его Python не знает.
# Даги за это платят: они бегут на 3.13, и модернизаций, доступных только там,
# ruff им не предложит. Значение совпадает с умолчанием ruff, и записано
# именно поэтому: сменится умолчание — проверка не поедет следом молча.
target-version = "py310"
# внутри образов. Стоит версия дагов: их читают и правят, и идиомы им нужны
# те, на которых они работают. Замер 9 августа 2026 года:
# `apache/airflow:3.3.0` несёт Python 3.13.14, `apache/superset:6.1.0` — 3.10.20.
# Настройке Superset от этого пока ни холодно ни жарко: модернизировать в ней
# нечего. Предложит ruff что-то не по её возрасту — заведём исключение тогда,
# с настоящим поводом.
target-version = "py313"
[lint]
select = ["E", "F", "I", "UP", "B"]