@@ -308,7 +308,7 @@ type Winget struct {
308308 ShortDescription string `yaml:"short_description" json:"short_description"`
309309 Description string `yaml:"description,omitempty" json:"description,omitempty"`
310310 Homepage string `yaml:"homepage,omitempty" json:"homepage,omitempty"`
311- License string `yaml:"license" json:"license"`
311+ License string `yaml:"license,omitempty " json:"license,omitempty "`
312312 LicenseURL string `yaml:"license_url,omitempty" json:"license_url,omitempty"`
313313 ReleaseNotes string `yaml:"release_notes,omitempty" json:"release_notes,omitempty"`
314314 ReleaseNotesURL string `yaml:"release_notes_url,omitempty" json:"release_notes_url,omitempty"`
@@ -350,6 +350,8 @@ type Ko struct {
350350 WorkingDir string `yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
351351 BaseImage string `yaml:"base_image,omitempty" json:"base_image,omitempty"`
352352 Labels map [string ]string `yaml:"labels,omitempty" json:"labels,omitempty"`
353+ Annotations map [string ]string `yaml:"annotations,omitempty" json:"annotations,omitempty"`
354+ User string `yaml:"user,omitempty" json:"user,omitempty"`
353355 Repository string `yaml:"repository,omitempty" json:"repository,omitempty"`
354356 Platforms []string `yaml:"platforms,omitempty" json:"platforms,omitempty"`
355357 Tags []string `yaml:"tags,omitempty" json:"tags,omitempty"`
@@ -402,11 +404,15 @@ type BuildHooks struct { // renamed on pro
402404
403405// IgnoredBuild represents a build ignored by the user.
404406type IgnoredBuild struct {
405- Goos string `yaml:"goos,omitempty" json:"goos,omitempty"`
406- Goarch string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
407- Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
408- Gomips string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
409- Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
407+ Goos string `yaml:"goos,omitempty" json:"goos,omitempty"`
408+ Goarch string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
409+ Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
410+ Go386 string `yaml:"go386,omitempty" json:"go386,omitempty"`
411+ Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
412+ Goarm64 string `yaml:"goarm64,omitempty" json:"goarm64,omitempty"`
413+ Gomips string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
414+ Goppc64 string `yaml:"goppc64,omitempty" json:"goppc64,omitempty"`
415+ Goriscv64 string `yaml:"goriscv64,omitempty" json:"goriscv64,omitempty"`
410416}
411417
412418// StringArray is a wrapper for an array of strings.
@@ -450,9 +456,13 @@ type Build struct {
450456 ID string `yaml:"id,omitempty" json:"id,omitempty"`
451457 Goos []string `yaml:"goos,omitempty" json:"goos,omitempty"`
452458 Goarch []string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
459+ Goamd64 []string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
460+ Go386 []string `yaml:"go386,omitempty" json:"go386,omitempty"`
453461 Goarm []string `yaml:"goarm,omitempty" json:"goarm,omitempty"`
462+ Goarm64 []string `yaml:"goarm64,omitempty" json:"goarm64,omitempty"`
454463 Gomips []string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
455- Goamd64 []string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
464+ Goppc64 []string `yaml:"goppc64,omitempty" json:"goppc64,omitempty"`
465+ Goriscv64 []string `yaml:"goriscv64,omitempty" json:"goriscv64,omitempty"`
456466 Targets []string `yaml:"targets,omitempty" json:"targets,omitempty"`
457467 Ignore []IgnoredBuild `yaml:"ignore,omitempty" json:"ignore,omitempty"`
458468 Dir string `yaml:"dir,omitempty" json:"dir,omitempty"`
@@ -696,6 +706,23 @@ type ExtraFile struct {
696706 NameTemplate string `yaml:"name_template,omitempty" json:"name_template,omitempty"`
697707}
698708
709+ // UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
710+ func (f * ExtraFile ) UnmarshalYAML (unmarshal func (interface {}) error ) error {
711+ type t ExtraFile
712+ var str string
713+ if err := unmarshal (& str ); err == nil {
714+ * f = ExtraFile {Glob : str }
715+ return nil
716+ }
717+
718+ var file t
719+ if err := unmarshal (& file ); err != nil {
720+ return err
721+ }
722+ * f = ExtraFile (file )
723+ return nil
724+ }
725+
699726// TemplatedExtraFile on a release.
700727type TemplatedExtraFile struct {
701728 Source string `yaml:"src,omitempty" json:"src,omitempty"`
@@ -709,6 +736,7 @@ type NFPM struct {
709736
710737 ID string `yaml:"id,omitempty" json:"id,omitempty"`
711738 Builds []string `yaml:"builds,omitempty" json:"builds,omitempty"`
739+ If string `yaml:"if,omitempty" json:"if,omitempty"`
712740 Formats []string `yaml:"formats,omitempty" json:"formats,omitempty" jsonschema:"enum=apk,enum=deb,enum=rpm,enum=termux.deb,enum=archlinux,enum=ipk"`
713741 Section string `yaml:"section,omitempty" json:"section,omitempty"`
714742 Priority string `yaml:"priority,omitempty" json:"priority,omitempty"`
@@ -1160,14 +1188,30 @@ type MSI struct {
11601188}
11611189
11621190// pro-only
1163- type DMG struct {
1191+ type AppBundle struct {
11641192 ID string `yaml:"id,omitempty" json:"id,omitempty"`
1165- Name string `yaml:"name" json:"name"`
1193+ Name string `yaml:"name,omitempty " json:"name,omitempty "`
11661194 IDs []string `yaml:"ids,omitempty" json:"ids,omitempty"`
1167- Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
1168- Files []string `yaml:"extra_files,omitempty" json:"extra_files,omitempty"`
1169- Replace bool `yaml:"replace,omitempty" json:"replace,omitempty"`
1195+ If string `yaml:"if,omitempty" json:"if,omitempty"`
11701196 ModTimestamp string `yaml:"mod_timestamp,omitempty" json:"mod_timestamp,omitempty"`
1197+ Icon string `yaml:"icon" json:"icon"`
1198+ Bundle string `yaml:"bundle" json:"bundle"`
1199+ }
1200+
1201+ // pro-only
1202+ type DMG struct {
1203+ ID string `yaml:"id,omitempty" json:"id,omitempty"`
1204+ Name string `yaml:"name" json:"name"`
1205+ IDs []string `yaml:"ids,omitempty" json:"ids,omitempty"`
1206+ Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"` // TODO: deprecate this
1207+ Files []ExtraFile `yaml:"extra_files,omitempty" json:"extra_files,omitempty"`
1208+ Replace bool `yaml:"replace,omitempty" json:"replace,omitempty"`
1209+ ModTimestamp string `yaml:"mod_timestamp,omitempty" json:"mod_timestamp,omitempty"`
1210+
1211+ // v2.4+
1212+ If string `yaml:"if,omitempty" json:"if,omitempty"`
1213+ Use string `yaml:"use,omitempty" json:"use,omitempty" jsonschema:"enum=enum=binary,enum=appbundle"`
1214+ TemplatedFiles []TemplatedExtraFile `yaml:"templated_extra_files,omitempty" json:"templated_extra_files,omitempty"`
11711215}
11721216
11731217// Blob contains config for GO CDK blob.
@@ -1260,6 +1304,7 @@ type Project struct {
12601304 Nix []Nix `yaml:"nix,omitempty" json:"nix,omitempty"`
12611305 Winget []Winget `yaml:"winget,omitempty" json:"winget,omitempty"`
12621306 MSI []MSI `yaml:"msi,omitempty" json:"msi,omitempty"`
1307+ AppBundles []AppBundle `yaml:"app_bundles,omitempty" json:"app_bundles,omitempty"`
12631308 DMG []DMG `yaml:"dmg,omitempty" json:"dmg,omitempty"`
12641309 AURs []AUR `yaml:"aurs,omitempty" json:"aurs,omitempty"`
12651310 Krews []Krew `yaml:"krews,omitempty" json:"krews,omitempty"`
0 commit comments