fix: bulletproof .gitignore for ALL Go binaries + classifyOperation for any underscore prefix

This commit is contained in:
“Naeel”
2026-06-30 18:13:36 +04:00
parent 48ad16c241
commit 75c1802530
2 changed files with 25 additions and 21 deletions
+17 -3
View File
@@ -13,10 +13,24 @@ devops/profiles/*/generated/
*.sha256sum *.sha256sum
# === Go binaries (compiled tools) === # === Go binaries (compiled tools) ===
universal_rebuild/tools/gen_v2/gen_v2 # Каждый тул в tools/ компилируется в бинарник с именем пакета.
universal_rebuild/tools/gen/gen # Паттерн ловит ВСЕ бинарники во всех поддиректориях tools/.
universal_rebuild/docs_template_gen_v2 universal_rebuild/tools/*/gen
universal_rebuild/tools/*/gen_v2
universal_rebuild/tools/*/service_spec_gen
universal_rebuild/tools/*/service_ops_gen
universal_rebuild/tools/*/service_params_gen
universal_rebuild/tools/*/docs_template_gen
universal_rebuild/tools/*/docs_template_gen_v2
# Бинарники в корне universal_rebuild/
universal_rebuild/gen
universal_rebuild/gen_v2
universal_rebuild/service_spec_gen
universal_rebuild/service_ops_gen
universal_rebuild/service_params_gen
universal_rebuild/docs_template_gen universal_rebuild/docs_template_gen
universal_rebuild/docs_template_gen_v2
universal_rebuild/terraform-provider-nubes_*
*.exe *.exe
*.test *.test
*.out *.out
@@ -519,29 +519,19 @@ func (c *apiClient) collectOperations(ops []operationInfo) ([]OperationSpec, boo
func classifyOperation(name string) (string, string, string) { func classifyOperation(name string) (string, string, string) {
// Canonical classification rules: // Canonical classification rules:
// - create/modify/delete/suspend/resume -> instance // - create/modify/delete/suspend/resume (exact match) → instance
// - create_*/modify_*/delete_* -> subresource // - verb_subresource (any prefix with underscore) → subresource (verb: action, suffix: subresource name)
// - everything else -> action // - everything else → action
n := strings.ToLower(strings.TrimSpace(name)) n := strings.ToLower(strings.TrimSpace(name))
if n == "create" || n == "modify" || n == "delete" || n == "suspend" || n == "resume" { if n == "create" || n == "modify" || n == "delete" || n == "suspend" || n == "resume" {
return "instance", n, "" return "instance", n, ""
} }
if strings.HasPrefix(n, "create_") { // Any name with underscore → subresource (e.g. create_user, modify_database, restart_service)
sub := strings.TrimPrefix(n, "create_") if idx := strings.Index(n, "_"); idx > 0 {
verb := n[:idx]
sub := n[idx+1:]
if sub != "" { if sub != "" {
return "subresource", "create", sub return "subresource", verb, sub
}
}
if strings.HasPrefix(n, "modify_") {
sub := strings.TrimPrefix(n, "modify_")
if sub != "" {
return "subresource", "modify", sub
}
}
if strings.HasPrefix(n, "delete_") {
sub := strings.TrimPrefix(n, "delete_")
if sub != "" {
return "subresource", "delete", sub
} }
} }
return "action", n, "" return "action", n, ""