This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
The following commit(s) were added to refs/heads/main by this push:
new fa0de4262 ci: validate all Kamelets (remove early break in
listKamelets) (#2878)
fa0de4262 is described below
commit fa0de42624f5e1ca3d3ebbd8fa0c4bb00b82c45d
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Jun 24 12:08:51 2026 +0200
ci: validate all Kamelets (remove early break in listKamelets) (#2878)
listKamelets in script/validator appended the first Kamelet file and
then broke out of the loop, so the validator only ever checked a single
Kamelet (avro-deserialize-action, alphabetically first) out of ~250.
Every rule (parameters, descriptors, annotations, used-params, ...)
silently ran against one file and the tool exited 0 -- disabling the
catalog's authoring safety net since 1caed85e3 (2025-09-05).
Removing the break re-arms validation across all Kamelets. Two
previously-unchecked Kamelets surfaced declared-but-unused properties:
- aws-sqs-source: queueURL, a vestigial KEDA scaler hint also present in
the already-excluded aws-s3-event-based-source;
- data-type-action: dataTypeProcessor, a bean referenced via process/ref
that the used-params check does not yet detect.
Both are added to the existing verifyUsedParams exclusion list to keep
the validator green, consistent with the entries already there.
Improving bean-reference detection so these (and the rest of the list)
can be retired is left to a follow-up.
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---
script/validator/validator.go | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/script/validator/validator.go b/script/validator/validator.go
index 3d6ed6b63..147cca105 100644
--- a/script/validator/validator.go
+++ b/script/validator/validator.go
@@ -317,7 +317,6 @@ func listKamelets(dir string) []KameletInfo {
FileName: fileName,
}
kamelets = append(kamelets, kameletInfo)
- break
}
return kamelets
}
@@ -326,6 +325,7 @@ func verifyUsedParams(kamelets []KameletInfo) (errors
[]error) {
for _, k := range kamelets {
if k.FileName !=
"../../kamelets/azure-storage-blob-source.kamelet.yaml" &&
k.FileName !=
"../../kamelets/aws-s3-event-based-source.kamelet.yaml" &&
+ k.FileName !=
"../../kamelets/aws-sqs-source.kamelet.yaml" &&
k.FileName !=
"../../kamelets/set-kafka-key-action.kamelet.yaml" &&
k.FileName !=
"../../kamelets/azure-storage-blob-event-based-source.kamelet.yaml" &&
k.FileName !=
"../../kamelets/google-storage-event-based-source.kamelet.yaml" &&
@@ -334,7 +334,8 @@ func verifyUsedParams(kamelets []KameletInfo) (errors
[]error) {
k.FileName !=
"../../kamelets/kafka-azure-schema-registry-source.kamelet.yaml" &&
k.FileName !=
"../../kamelets/kafka-azure-schema-registry-sink.kamelet.yaml" &&
k.FileName !=
"../../kamelets/kafka-batch-azure-schema-registry-source.kamelet.yaml" &&
- k.FileName !=
"../../kamelets/cassandra-sink.kamelet.yaml" {
+ k.FileName !=
"../../kamelets/cassandra-sink.kamelet.yaml" &&
+ k.FileName !=
"../../kamelets/data-type-action.kamelet.yaml" {
used := getUsedParams(k.Kamelet)
declared := getDeclaredParams(k.Kamelet)
for p := range used {