Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package helm-schema for openSUSE:Factory checked in at 2026-05-21 18:28:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/helm-schema (Old) and /work/SRC/openSUSE:Factory/.helm-schema.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helm-schema" Thu May 21 18:28:40 2026 rev:11 rq:1354359 version:0.23.3 Changes: -------- --- /work/SRC/openSUSE:Factory/helm-schema/helm-schema.changes 2026-04-28 11:57:11.915567646 +0200 +++ /work/SRC/openSUSE:Factory/.helm-schema.new.2084/helm-schema.changes 2026-05-21 18:31:14.172175992 +0200 @@ -1,0 +2,12 @@ +Thu May 21 05:22:49 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.23.3: + * chore: version++ + * chore: Update dependencies + * docs: Add new helm-docs feature + * feat: support for helm-docs anyof + * chore(deps): update orhun/git-cliff-action digest to f50e115 + * chore(deps): update goreleaser/goreleaser-action digest to + 1a80836 + +------------------------------------------------------------------- Old: ---- helm-schema-0.23.2.obscpio New: ---- helm-schema-0.23.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ helm-schema.spec ++++++ --- /var/tmp/diff_new_pack.FTqQjR/_old 2026-05-21 18:31:15.124215081 +0200 +++ /var/tmp/diff_new_pack.FTqQjR/_new 2026-05-21 18:31:15.124215081 +0200 @@ -17,7 +17,7 @@ Name: helm-schema -Version: 0.23.2 +Version: 0.23.3 Release: 0 Summary: Generate jsonschemas from helm charts License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.FTqQjR/_old 2026-05-21 18:31:15.200218201 +0200 +++ /var/tmp/diff_new_pack.FTqQjR/_new 2026-05-21 18:31:15.212218694 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/dadav/helm-schema</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">0.23.2</param> + <param name="revision">0.23.3</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.FTqQjR/_old 2026-05-21 18:31:15.252220336 +0200 +++ /var/tmp/diff_new_pack.FTqQjR/_new 2026-05-21 18:31:15.256220501 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/dadav/helm-schema</param> - <param name="changesrevision">f1760a68976034f737025d2b42e1bc46f793ae07</param></service></servicedata> + <param name="changesrevision">0d5a4df7d534db29afff921855013bcf52f06baf</param></service></servicedata> (No newline at EOF) ++++++ helm-schema-0.23.2.obscpio -> helm-schema-0.23.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/README.md new/helm-schema-0.23.3/README.md --- old/helm-schema-0.23.2/README.md 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/README.md 2026-05-20 20:45:02.000000000 +0200 @@ -284,7 +284,27 @@ ``` If you use `-p`/`--helm-docs-compatibility-mode` flags, the `@default`, `(type)` annotations and helm-docs descriptions -are used if detected. +are used if detected. Helm-docs types are converted to JSON Schema types: + +| helm-docs type | JSON Schema type | +|-|-| +| `bool` | `boolean` | +| `float` | `number` | +| `int` | `integer` | +| `list` | `array` | +| `map` | `object` | +| `tpl` | `string` | +| `object` | `object` | +| `string` | `string` | + +Comma-separated helm-docs type hints are supported and generate a JSON Schema `type` array. This is useful when a value can be represented in more than one way: + +```yaml +# -- (string, object) Inline config string or structured config object. +config: {} +``` + +The generated schema for `config` will allow both `string` and `object`. > [!NOTE] > Make sure to place the `@schema` annotations **before** the actual key > description to avoid having it in your `helm-docs` generated table @@ -415,7 +435,8 @@ # @schema enabled: true -# You can define multiple types as an array. +# You can define multiple types as an array. The same result can be generated +# from helm-docs comments with -p, for example: # -- (string, integer) ... # @schema # type: [string, integer] # minimum: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/cmd/helm-schema/version.go new/helm-schema-0.23.3/cmd/helm-schema/version.go --- old/helm-schema-0.23.2/cmd/helm-schema/version.go 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/cmd/helm-schema/version.go 2026-05-20 20:45:02.000000000 +0200 @@ -1,3 +1,3 @@ package main -var version string = "0.23.2" +var version string = "0.23.3" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/go.mod new/helm-schema-0.23.3/go.mod --- old/helm-schema-0.23.2/go.mod 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/go.mod 2026-05-20 20:45:02.000000000 +0200 @@ -17,17 +17,17 @@ require ( dario.cat/mergo v1.0.2 // indirect github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.4.0 // indirect + github.com/Masterminds/semver/v3 v3.5.0 // indirect github.com/Masterminds/sprig/v3 v3.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fsnotify/fsnotify v1.10.1 // indirect github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/huandu/xstrings v1.5.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.3.0 // indirect + github.com/pelletier/go-toml/v2 v2.3.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect @@ -37,9 +37,9 @@ github.com/spf13/pflag v1.0.10 // indirect github.com/subosito/gotenv v1.6.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.49.0 // indirect - golang.org/x/sys v0.42.0 // indirect - golang.org/x/text v0.35.0 // indirect + golang.org/x/crypto v0.51.0 // indirect + golang.org/x/sys v0.44.0 // indirect + golang.org/x/text v0.37.0 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect - helm.sh/helm/v3 v3.20.2 // indirect + helm.sh/helm/v3 v3.21.0 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/go.sum new/helm-schema-0.23.3/go.sum --- old/helm-schema-0.23.2/go.sum 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/go.sum 2026-05-20 20:45:02.000000000 +0200 @@ -4,6 +4,8 @@ github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= +github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= @@ -17,6 +19,8 @@ github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho= +github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -41,6 +45,8 @@ github.com/norwoodj/helm-docs v1.14.2/go.mod h1:qdo76rorOkPDme8nsV5e0JBAYrs56kzvZMYW83k1kgc= github.com/pelletier/go-toml/v2 v2.3.0 h1:k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM= github.com/pelletier/go-toml/v2 v2.3.0/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pelletier/go-toml/v2 v2.3.1 h1:MYEvvGnQjeNkRF1qUuGolNtNExTDwct51yp7olPtrEc= +github.com/pelletier/go-toml/v2 v2.3.1/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= @@ -75,10 +81,16 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= +golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI= +golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8= golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= +golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -86,3 +98,5 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= helm.sh/helm/v3 v3.20.2 h1:binM4rvPx5DcNsa1sIt7UZi55lRbu3pZUFmQkSoRh48= helm.sh/helm/v3 v3.20.2/go.mod h1:Fl1kBaWCpkUrM6IYXPjQ3bdZQfFrogKArqptvueZ6Ww= +helm.sh/helm/v3 v3.21.0 h1:9TRbaXQH+BIKLLDYlu++JsyWodS5kBBOLF7C7HY5+cs= +helm.sh/helm/v3 v3.21.0/go.mod h1:5IvU6Ae6ruB/vasVHhnC1IU5RvqFM349vLYS1BiHqeY= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/pkg/schema/schema.go new/helm-schema-0.23.3/pkg/schema/schema.go --- old/helm-schema-0.23.2/pkg/schema/schema.go 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/pkg/schema/schema.go 2026-05-20 20:45:02.000000000 +0200 @@ -1707,7 +1707,7 @@ log.Warnln(err) } else { keyNodeSchema.Set() - keyNodeSchema.Type = StringOrArrayOfString{helmDocsType} + keyNodeSchema.Type = helmDocsType } } } @@ -1870,7 +1870,23 @@ return schema, nil } -func helmDocsTypeToSchemaType(helmDocsType string) (string, error) { +func helmDocsTypeToSchemaType(helmDocsType string) (StringOrArrayOfString, error) { + trimmedType := strings.TrimSpace(helmDocsType) + + var schemaTypes StringOrArrayOfString + for _, valueType := range strings.Split(trimmedType, ",") { + valueType = strings.TrimSpace(valueType) + schemaType, err := helmDocsSingleTypeToSchemaType(valueType) + if err != nil { + return nil, err + } + schemaTypes = append(schemaTypes, schemaType) + } + + return schemaTypes, schemaTypes.Validate() +} + +func helmDocsSingleTypeToSchemaType(helmDocsType string) (string, error) { switch helmDocsType { case "int": return "integer", nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/pkg/schema/schema_test.go new/helm-schema-0.23.3/pkg/schema/schema_test.go --- old/helm-schema-0.23.2/pkg/schema/schema_test.go 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/pkg/schema/schema_test.go 2026-05-20 20:45:02.000000000 +0200 @@ -260,6 +260,78 @@ assert.Equal(t, schema.Properties["nested"].CustomAnnotations["x-nested-annotation"], float64(42)) } +func TestHelmDocsTypeToSchemaType(t *testing.T) { + tests := []struct { + name string + helmType string + expected StringOrArrayOfString + expectedErr bool + }{ + { + name: "single helm-docs alias", + helmType: "int", + expected: StringOrArrayOfString{"integer"}, + }, + { + name: "multiple comma separated schema types", + helmType: "string, object", + expected: StringOrArrayOfString{"string", "object"}, + }, + { + name: "multiple comma separated helm-docs aliases", + helmType: "tpl, map", + expected: StringOrArrayOfString{"string", "object"}, + }, + { + name: "unsupported type", + helmType: "doesnotexist, string", + expectedErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + actual, err := helmDocsTypeToSchemaType(tt.helmType) + if tt.expectedErr { + if err == nil { + t.Fatal("expected error") + } + return + } + + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + assert.Equal(t, tt.expected, actual) + }) + } +} + +func TestYamlToSchemaHelmDocsMultipleType(t *testing.T) { + yamlContent := `# -- (string, object) supports either inline config or a config object +config: {} +` + + var node yaml.Node + if err := yaml.Unmarshal([]byte(yamlContent), &node); err != nil { + t.Fatalf("Failed to unmarshal YAML: %v", err) + } + + skipConfig := &SkipAutoGenerationConfig{} + schema, err := YamlToSchema("", &node, false, true, false, true, skipConfig, nil) + if err != nil { + t.Fatalf("YamlToSchema failed: %v", err) + } + + property, ok := schema.Properties["config"] + if !ok { + t.Fatal("Expected schema to contain config property") + } + + assert.Equal(t, StringOrArrayOfString{"string", "object"}, property.Type) + assert.Equal(t, "supports either inline config or a config object", property.Description) +} + func TestNewDraft7Keywords(t *testing.T) { tests := []struct { name string diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-schema-0.23.2/plugin.yaml new/helm-schema-0.23.3/plugin.yaml --- old/helm-schema-0.23.2/plugin.yaml 2026-04-24 08:19:06.000000000 +0200 +++ new/helm-schema-0.23.3/plugin.yaml 2026-05-20 20:45:02.000000000 +0200 @@ -1,6 +1,6 @@ --- name: "schema" -version: "0.23.2" +version: "0.23.3" usage: "generate jsonschemas for your helm charts" description: "generate jsonschemas for your helm charts" command: "$HELM_PLUGIN_DIR/bin/helm-schema" ++++++ helm-schema.obsinfo ++++++ --- /var/tmp/diff_new_pack.FTqQjR/_old 2026-05-21 18:31:15.560232982 +0200 +++ /var/tmp/diff_new_pack.FTqQjR/_new 2026-05-21 18:31:15.564233147 +0200 @@ -1,5 +1,5 @@ name: helm-schema -version: 0.23.2 -mtime: 1777011546 -commit: f1760a68976034f737025d2b42e1bc46f793ae07 +version: 0.23.3 +mtime: 1779302702 +commit: 0d5a4df7d534db29afff921855013bcf52f06baf ++++++ vendor.tar.gz ++++++ ++++ 2414 lines of diff (skipped)
