feat(tools): страж имён атрибутов схемы + вызов в 03 (fail-fast до заливки)
Инцидент 2026-09-30 показал: невалидное имя атрибута (s3-inst) проходило генерацию, сборку и заливку, а ломалось только у пользователя (Terraform отвергает схему целиком). - TOOLS/scripts/check_schema_names.sh: проверяет все tfsdk:"..." в сгенерированном Go на [a-z0-9_]; exit 1 при нарушении, с подсказкой про helpers.ToSnake. - 03_build_and_upload_provider.sh: вызов стража после 02 (до сборки и заливки). - ARCHITECTURE.md: страж добавлен в список enforced-скриптов. - HISTORY: пункт 'не закрыто' заменён на 'закрыто' с проверками. Проверено: dev/test/prod -> OK; искусственный пример (tfsdk:"s3-inst") -> exit 1.
This commit is contained in:
@@ -41,6 +41,12 @@ fi
|
||||
"${ROOT_DIR}/TOOLS/scripts/01_generate_yamls.sh" --profile "$PROFILE_DIR"
|
||||
"${ROOT_DIR}/TOOLS/scripts/02_generate_resources_and_docs_v2.sh" --profile "$PROFILE_DIR"
|
||||
|
||||
# Fail-fast: имена атрибутов Terraform-схемы обязаны быть [a-z0-9_]. Иначе провайдер
|
||||
# не отдаст схему целиком и любой plan/apply у пользователей упадёт (инцидент 2026-09-30:
|
||||
# коды API `s3-inst` / `s3-ref-root`). Проверяем ДО сборки и заливки.
|
||||
STAND_NAME="$(basename "$PROFILE_DIR")"
|
||||
"${ROOT_DIR}/TOOLS/scripts/check_schema_names.sh" "${ROOT_DIR}/generated/${STAND_NAME}/go"
|
||||
|
||||
resolve_root_path() {
|
||||
local path_value="$1"
|
||||
if [[ -z "$path_value" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user