cue.dev/x/goreleaser@v0.5.0

schema.cue raw

   1package goreleaser
   2
   3// goreleaser configuration definition file
   4#Project: {
   5	@jsonschema(schema="https://json-schema.org/draft/2020-12/schema")
   6	@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/project")
   7	#Project
   8
   9	#AUR: close({
  10		"name"?: string
  11		"ids"?: [...string]
  12		"commit_author"?:       #CommitAuthor
  13		"commit_msg_template"?: string
  14		"description"?:         string
  15		"homepage"?:            string
  16		"license"?:             string
  17		"skip_upload"?:         bool | string
  18		"url_template"?:        string
  19		"maintainers"?: [...string]
  20		"contributors"?: [...string]
  21		"provides"?: [...string]
  22		"conflicts"?: [...string]
  23		"depends"?: [...string]
  24		"optdepends"?: [...string]
  25		"backup"?: [...string]
  26		"rel"?:             string
  27		"package"?:         string
  28		"git_url"?:         string
  29		"git_ssh_command"?: string
  30		"private_key"?:     string
  31		"goamd64"?:         string
  32		"directory"?:       string
  33		"disable"?:         bool | string
  34		"install"?:         string
  35	})
  36
  37	#AURSource: close({
  38		"name"?: string
  39		"ids"?: [...string]
  40		"commit_author"?:       #CommitAuthor
  41		"commit_msg_template"?: string
  42		"description"?:         string
  43		"homepage"?:            string
  44		"license"?:             string
  45		"skip_upload"?:         bool | string
  46		"url_template"?:        string
  47		"maintainers"?: [...string]
  48		"contributors"?: [...string]
  49		"arches"?: [...string]
  50		"provides"?: [...string]
  51		"conflicts"?: [...string]
  52		"depends"?: [...string]
  53		"optdepends"?: [...string]
  54		"makedepends"?: [...string]
  55		"backup"?: [...string]
  56		"rel"?:             string
  57		"prepare"?:         string
  58		"build"?:           string
  59		"package"?:         string
  60		"git_url"?:         string
  61		"git_ssh_command"?: string
  62		"private_key"?:     string
  63		"goamd64"?:         string
  64		"directory"?:       string
  65		"disable"?:         bool | string
  66		"install"?:         string
  67	})
  68
  69	#Announce: close({
  70		"skip"?:           bool | string
  71		"twitter"?:        #Twitter
  72		"mastodon"?:       #Mastodon
  73		"reddit"?:         #Reddit
  74		"slack"?:          #Slack
  75		"discord"?:        #Discord
  76		"teams"?:          #Teams
  77		"smtp"?:           #SMTP
  78		"mattermost"?:     #Mattermost
  79		"linkedin"?:       #LinkedIn
  80		"telegram"?:       #Telegram
  81		"webhook"?:        #Webhook
  82		"opencollective"?: #OpenCollective
  83		"bluesky"?:        #Bluesky
  84		"discourse"?:      #Discourse
  85	})
  86
  87	#Archive: close({
  88		"id"?: string
  89		"ids"?: [...string]
  90		"builds_info"?:   #FileInfo
  91		"name_template"?: string
  92		"formats"?:       #StringArray
  93		"format_overrides"?: [...#FormatOverride]
  94		"wrap_in_directory"?:      bool | string
  95		"strip_binary_directory"?: bool
  96		"files"?: [...#File]
  97		"meta"?:                         bool
  98		"allow_different_binary_count"?: bool
  99		"format"?:                       "tar" | "tgz" | "tar.gz" | "zip" | "gz" | "tar.xz" | "txz" | "binary"
 100		"builds"?: [...string]
 101	})
 102
 103	#Before: close({
 104		"hooks"?: [...string]
 105	})
 106
 107	#BinarySign: close({
 108		"id"?:  string
 109		"cmd"?: string
 110		"args"?: [...string]
 111		"signature"?: string
 112		"artifacts"?: "binary" | "none"
 113		"ids"?: [...string]
 114		"stdin"?:      string
 115		"stdin_file"?: string
 116		"env"?: [...string]
 117		"certificate"?: string
 118		"output"?:      bool | string
 119	})
 120
 121	#Blob: close({
 122		"bucket"?:      string
 123		"provider"?:    string
 124		"region"?:      string
 125		"disable_ssl"?: bool
 126		"directory"?:   string
 127		"kms_key"?:     string
 128		"ids"?: [...string]
 129		"endpoint"?: string
 130		"extra_files"?: [...#ExtraFile]
 131		"disable"?:             bool | string
 132		"s3_force_path_style"?: bool
 133		"acl"?:                 string
 134		"cache_control"?: [...string]
 135		"content_disposition"?: string
 136		"include_meta"?:        bool
 137		"extra_files_only"?:    bool
 138	})
 139
 140	#Bluesky: close({
 141		"enabled"?:          bool | string
 142		"username"?:         string
 143		"message_template"?: string
 144	})
 145
 146	#Build: close({
 147		"id"?: string
 148		"goos"?: [...string]
 149		"goarch"?: [...string]
 150		"goamd64"?: [...string]
 151		"go386"?: [...string]
 152		"goarm"?: [...string]
 153		"goarm64"?: [...string]
 154		"gomips"?: [...string]
 155		"goppc64"?: [...string]
 156		"goriscv64"?: [...string]
 157		"targets"?: [...string]
 158		"ignore"?: [...#IgnoredBuild]
 159		"dir"?:                string
 160		"main"?:               string
 161		"binary"?:             string
 162		"hooks"?:              #BuildHookConfig
 163		"builder"?:            "" | "go" | "rust" | "zig" | "bun" | "deno" | "node" | "uv" | "poetry"
 164		"mod_timestamp"?:      string
 165		"skip"?:               bool | string
 166		"tool"?:               string
 167		"command"?:            string
 168		"no_unique_dist_dir"?: bool | string
 169		"no_main_check"?:      bool
 170		"buildmode"?:          "c-archive" | "c-shared" | "pie" | "wheel" | "sdist" | ""
 171		"ldflags"?:            #StringArray
 172		"tags"?:               #FlagArray
 173		"flags"?:              #FlagArray
 174		"asmflags"?:           #StringArray
 175		"gcflags"?:            #StringArray
 176		"env"?: [...string]
 177		"overrides"?: [...#BuildDetailsOverride]
 178		"gobinary"?: string
 179	})
 180
 181	#BuildDetailsOverride: close({
 182		"goos"!:    string
 183		"goarch"!:  string
 184		"goamd64"?: string
 185		"go386"?:   string
 186		"goarm64"?: string
 187		"goarm"?: matchN(1, [string, int])
 188		"gomips"?:    string
 189		"goppc64"?:   string
 190		"goriscv64"?: string
 191		"buildmode"?: "c-archive" | "c-shared" | "pie" | "wheel" | "sdist" | ""
 192		"ldflags"?:   #StringArray
 193		"tags"?:      #FlagArray
 194		"flags"?:     #FlagArray
 195		"asmflags"?:  #StringArray
 196		"gcflags"?:   #StringArray
 197		"env"?: [...string]
 198	})
 199
 200	#BuildHookConfig: close({
 201		"pre"?:  #Hooks
 202		"post"?: #Hooks
 203	})
 204
 205	#Changelog: close({
 206		"filters"?: #Filters
 207		"sort"?:    "asc" | "desc" | ""
 208		"disable"?: bool | string
 209		"use"?:     "git" | "github" | "github-native" | "gitlab"
 210		"format"?:  string
 211		"groups"?: [...#ChangelogGroup]
 212		"abbrev"?: int
 213	})
 214
 215	#ChangelogGroup: close({
 216		"title"!:  string
 217		"regexp"?: string
 218		"order"?:  int
 219	})
 220
 221	#Checksum: close({
 222		"name_template"?: string
 223		"algorithm"?:     string
 224		"split"?:         bool
 225		"ids"?: [...string]
 226		"disable"?: bool
 227		"extra_files"?: [...#ExtraFile]
 228	})
 229
 230	#Chocolatey: close({
 231		"name"?: string
 232		"ids"?: [...string]
 233		"package_source_url"?:         string
 234		"owners"?:                     string
 235		"title"?:                      string
 236		"authors"?:                    string
 237		"project_url"?:                string
 238		"url_template"?:               string
 239		"icon_url"?:                   string
 240		"copyright"?:                  string
 241		"license_url"?:                string
 242		"require_license_acceptance"?: bool
 243		"project_source_url"?:         string
 244		"docs_url"?:                   string
 245		"bug_tracker_url"?:            string
 246		"tags"?:                       string
 247		"summary"?:                    string
 248		"description"?:                string
 249		"release_notes"?:              string
 250		"dependencies"?: [...#ChocolateyDependency]
 251		"skip_publish"?: bool
 252		"api_key"?:      string
 253		"source_repo"?:  string
 254		"goamd64"?:      string
 255	})
 256
 257	#ChocolateyDependency: close({
 258		"id"?:      string
 259		"version"?: string
 260	})
 261
 262	#CommitAuthor: close({
 263		"name"?:                 string
 264		"email"?:                string
 265		"signing"?:              #CommitSigning
 266		"use_github_app_token"?: bool
 267	})
 268
 269	#CommitSigning: close({
 270		"enabled"?: bool
 271		"key"?:     string
 272		"program"?: string
 273		"format"?:  "openpgp" | "x509" | "ssh"
 274	})
 275
 276	#Discord: close({
 277		"enabled"?:          bool | string
 278		"message_template"?: string
 279		"author"?:           string
 280		"color"?:            string
 281		"icon_url"?:         string
 282	})
 283
 284	#Discourse: close({
 285		"enabled"?:          bool | string
 286		"title_template"?:   string
 287		"message_template"?: string
 288		"server"?:           string
 289		"category_id"?:      int
 290		"username"?:         string
 291	})
 292
 293	#Docker: close({
 294		"id"?: string
 295		"ids"?: [...string]
 296		"goos"?:   string
 297		"goarch"?: string
 298		"goarm"?: matchN(1, [string, int])
 299		"goamd64"?:    string
 300		"dockerfile"?: string
 301		"image_templates"?: [...string]
 302		"skip_push"?: bool | string
 303		"extra_files"?: [...string]
 304		"build_flag_templates"?: [...string]
 305		"push_flags"?: [...string]
 306		"use"?:   "docker" | "buildx"
 307		"retry"?: #Retry
 308	})
 309
 310	#DockerDigest: close({
 311		"disable"?:       bool | string
 312		"name_template"?: string
 313	})
 314
 315	#DockerManifest: close({
 316		"id"?:            string
 317		"name_template"?: string
 318		"skip_push"?:     bool | string
 319		"image_templates"?: [...string]
 320		"create_flags"?: [...string]
 321		"push_flags"?: [...string]
 322		"use"?:   string
 323		"retry"?: #Retry
 324	})
 325
 326	#DockerV2: close({
 327		"id"?: string
 328		"ids"?: [...string]
 329		"dockerfile"?: string
 330		"images"?: [...string]
 331		"tags"?: [...string]
 332		"labels"?: {
 333			[string]: string
 334		}
 335		"annotations"?: {
 336			[string]: string
 337		}
 338		"extra_files"?: [...string]
 339		"platforms"?: [...string]
 340		"build_args"?: {
 341			[string]: string
 342		}
 343		"flags"?: [...string]
 344		"disable"?: bool | string
 345		"sbom"?:    bool | string
 346		"hooks"?:   #BuildHookConfig
 347		"retry"?:   #Retry
 348	})
 349
 350	#EnvFiles: close({
 351		"github_token"?: string
 352		"gitlab_token"?: string
 353		"gitea_token"?:  string
 354	})
 355
 356	#ExtraFile: close({
 357		"glob"?:          string
 358		"name_template"?: string
 359	})
 360
 361	#File: matchN(1, [string, _#defs."/$defs/File/oneOf/1"])
 362
 363	#FileInfo: {
 364		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/file-info")
 365		_#defs."/$defs/FileInfo/$defs/FileInfo"
 366	}
 367
 368	#Filters: close({
 369		"include"?: [...string]
 370		"exclude"?: [...string]
 371	})
 372
 373	#FlagArray: matchN(1, [string, [...string]])
 374
 375	#Flatpak: close({
 376		"id"?: string
 377		"ids"?: [...string]
 378		"name_template"?:   string
 379		"app_id"!:          string
 380		"runtime"!:         string
 381		"runtime_version"!: string
 382		"sdk"!:             string
 383		"command"?:         string
 384		"finish_args"?: [...string]
 385		"disable"?: bool | string
 386	})
 387
 388	#FormatOverride: close({
 389		"goos"?:    string
 390		"formats"?: #StringArray
 391		"format"?:  "tar" | "tgz" | "tar.gz" | "zip" | "gz" | "tar.xz" | "txz" | "binary" | "none"
 392	})
 393
 394	#Git: close({
 395		"tag_sort"?:          "-version:refname" | "-version:creatordate"
 396		"prerelease_suffix"?: string
 397		"ignore_tags"?: [...string]
 398	})
 399
 400	#GitHubURLs: close({
 401		"api"?:             string
 402		"upload"?:          string
 403		"download"?:        string
 404		"skip_tls_verify"?: bool
 405	})
 406
 407	#GitLabURLs: close({
 408		"api"?:                  string
 409		"download"?:             string
 410		"skip_tls_verify"?:      bool
 411		"use_package_registry"?: bool
 412		"use_job_token"?:        bool
 413	})
 414
 415	#GitRepoRef: close({
 416		"url"?:         string
 417		"ssh_command"?: string
 418		"private_key"?: string
 419	})
 420
 421	#GiteaURLs: close({
 422		"api"?:             string
 423		"download"?:        string
 424		"skip_tls_verify"?: bool
 425	})
 426
 427	#GoMod: close({
 428		"proxy"?: bool
 429		"env"?: [...string]
 430		"gobinary"?: string
 431		"mod"?:      string
 432		"dir"?:      string
 433	})
 434
 435	#Homebrew: close({
 436		"name"?:                string
 437		"repository"?:          #RepoRef
 438		"commit_author"?:       #CommitAuthor
 439		"commit_msg_template"?: string
 440		"directory"?:           string
 441		"caveats"?:             string
 442		"install"?:             string
 443		"extra_install"?:       string
 444		"post_install"?:        string
 445		"dependencies"?: [...#HomebrewDependency]
 446		"test"?: string
 447		"conflicts"?: [...string]
 448		"description"?:       string
 449		"homepage"?:          string
 450		"license"?:           string
 451		"skip_upload"?:       bool | string
 452		"download_strategy"?: string
 453		"url_template"?:      string
 454		"url_headers"?: [...string]
 455		"custom_require"?: string
 456		"custom_block"?:   string
 457		"ids"?: [...string]
 458		"goarm"?: matchN(1, [string, int])
 459		"goamd64"?: string
 460		"service"?: string
 461	})
 462
 463	#HomebrewCask: close({
 464		"name"?:                string
 465		"repository"?:          #RepoRef
 466		"commit_author"?:       #CommitAuthor
 467		"commit_msg_template"?: string
 468		"directory"?:           string
 469		"caveats"?:             string
 470		"description"?:         string
 471		"homepage"?:            string
 472		"skip_upload"?:         bool | string
 473		"custom_block"?:        string
 474		"ids"?: [...string]
 475		"service"?: string
 476		"binaries"?: [...string]
 477		"manpages"?: [...string]
 478		"url"?:         #HomebrewCaskURL
 479		"completions"?: #HomebrewCaskCompletions
 480		"dependencies"?: [...#HomebrewCaskDependency]
 481		"conflicts"?: [...#HomebrewCaskConflict]
 482		"hooks"?:                                #HomebrewCaskHooks
 483		"uninstall"?:                            #HomebrewCaskUninstall
 484		"zap"?:                                  #HomebrewCaskUninstall
 485		"generate_completions_from_executable"?: #HomebrewCaskGeneratedCompletions
 486		"license"?:                              string
 487		"manpage"?:                              string
 488		"binary"?:                               string
 489	})
 490
 491	#HomebrewCaskCompletions: close({
 492		"bash"?: string
 493		"zsh"?:  string
 494		"fish"?: string
 495	})
 496
 497	#HomebrewCaskConflict: close({
 498		"cask"?:    string
 499		"formula"?: string
 500	})
 501
 502	#HomebrewCaskDependency: close({
 503		"cask"?:    string
 504		"formula"?: string
 505	})
 506
 507	#HomebrewCaskGeneratedCompletions: close({
 508		"executable"?: string
 509		"args"?: [...string]
 510		"base_name"?:              string
 511		"shell_parameter_format"?: string
 512		"shells"?: [...string]
 513	})
 514
 515	#HomebrewCaskHook: close({
 516		"install"?:   string
 517		"uninstall"?: string
 518	})
 519
 520	#HomebrewCaskHooks: close({
 521		"pre"?:  #HomebrewCaskHook
 522		"post"?: #HomebrewCaskHook
 523	})
 524
 525	#HomebrewCaskURL: close({
 526		"template"?: string
 527		"verified"?: string
 528		"using"?:    string
 529		"cookies"?: {
 530			[string]: string
 531		}
 532		"referer"?: string
 533		"headers"?: [...string]
 534		"user_agent"?: string
 535		"data"?: {
 536			[string]: string
 537		}
 538	})
 539
 540	#HomebrewCaskUninstall: close({
 541		"launchctl"?: [...string]
 542		"quit"?: [...string]
 543		"login_item"?: [...string]
 544		"delete"?: [...string]
 545		"trash"?: [...string]
 546	})
 547
 548	#HomebrewDependency: matchN(1, [string, _#defs."/$defs/HomebrewDependency/oneOf/1"])
 549
 550	#Hooks: matchN(1, [string, [..._#defs."/$defs/Hooks/oneOf/1/items"]])
 551
 552	#IgnoredBuild: close({
 553		"goos"?:    string
 554		"goarch"?:  string
 555		"goamd64"?: string
 556		"go386"?:   string
 557		"goarm"?: matchN(1, [string, int])
 558		"goarm64"?:   string
 559		"gomips"?:    string
 560		"goppc64"?:   string
 561		"goriscv64"?: string
 562	})
 563
 564	#Ko: close({
 565		"id"?:          string
 566		"build"?:       string
 567		"main"?:        string
 568		"working_dir"?: string
 569		"base_image"?:  string
 570		"labels"?: {
 571			[string]: string
 572		}
 573		"annotations"?: {
 574			[string]: string
 575		}
 576		"user"?: string
 577		"repositories"?: [...string]
 578		"platforms"?: [...string]
 579		"tags"?: [...string]
 580		"creation_time"?:         string
 581		"ko_data_creation_time"?: string
 582		"sbom"?:                  "spdx" | "none"
 583		"sbom_directory"?:        string
 584		"ldflags"?: [...string]
 585		"flags"?: [...string]
 586		"env"?: [...string]
 587		"bare"?:                  bool
 588		"preserve_import_paths"?: bool
 589		"base_import_paths"?:     bool
 590		"local_domain"?:          string
 591		"disable"?:               bool | string
 592		"repository"?:            string
 593	})
 594
 595	#Krew: close({
 596		"ids"?: [...string]
 597		"name"?:                string
 598		"repository"?:          #RepoRef
 599		"commit_author"?:       #CommitAuthor
 600		"commit_msg_template"?: string
 601		"caveats"?:             string
 602		"short_description"?:   string
 603		"description"?:         string
 604		"homepage"?:            string
 605		"url_template"?:        string
 606		"goarm"?: matchN(1, [string, int])
 607		"goamd64"?:     string
 608		"skip_upload"?: bool | string
 609	})
 610
 611	#Libdirs: close({
 612		"header"?:   string
 613		"carchive"?: string
 614		"cshared"?:  string
 615	})
 616
 617	#LinkedIn: close({
 618		"enabled"?:          bool | string
 619		"message_template"?: string
 620	})
 621
 622	#MCP: close({
 623		"github"?:      #MCPDetails
 624		"name"!:        string
 625		"title"!:       string
 626		"description"?: string
 627		"homepage"?:    string
 628		"packages"?: [...#MCPPackage]
 629		"transports"?: [...#MCPTransport]
 630		"disable"?:    bool | string
 631		"repository"?: #MCPRepository
 632		"auth"!:       #MCPAuth
 633	})
 634
 635	#MCPAuth: close({
 636		"type"!:  "none" | "github" | "github-oidc"
 637		"token"?: string
 638	})
 639
 640	#MCPDetails: close({
 641		"name"!:        string
 642		"title"!:       string
 643		"description"?: string
 644		"homepage"?:    string
 645		"packages"?: [...#MCPPackage]
 646		"transports"?: [...#MCPTransport]
 647		"disable"?:    bool | string
 648		"repository"?: #MCPRepository
 649		"auth"!:       #MCPAuth
 650	})
 651
 652	#MCPPackage: close({
 653		"registry_type"!: "oci" | "npm" | "pypi" | "nuget" | "mcpb"
 654		"identifier"!:    string
 655		"transport"!:     #MCPTransport
 656	})
 657
 658	#MCPRepository: close({
 659		"url"?:       string
 660		"source"?:    "github" | "gitlab" | "gitea"
 661		"id"?:        string
 662		"subfolder"?: string
 663	})
 664
 665	#MCPTransport: close({
 666		"type"?: "stdio" | "streamable-http" | "sse"
 667	})
 668
 669	#MacOSNotarize: close({
 670		"issuer_id"!: string
 671		"key"!:       string
 672		"key_id"!:    string
 673		"timeout"?:   string
 674		"wait"?:      bool
 675	})
 676
 677	#MacOSSign: close({
 678		"certificate"!:  string
 679		"password"!:     string
 680		"entitlements"?: string
 681	})
 682
 683	#MacOSSignNotarize: close({
 684		"ids"?: [...string]
 685		"enabled"?:  bool | string
 686		"sign"!:     #MacOSSign
 687		"notarize"!: #MacOSNotarize
 688	})
 689
 690	#Makeself: close({
 691		"id"?:          string
 692		"filename"?:    string
 693		"script"!:      string
 694		"compression"?: "gzip" | "bzip2" | "xz" | "lzo" | "compress" | "none"
 695		"extra_args"?: [...string]
 696		"files"?: [...#MakeselfFile]
 697		"disable"?: bool | string
 698		"ids"?: [...string]
 699		"goos"?: [...string]
 700		"goarch"?: [...string]
 701		"name"?:        string
 702		"description"?: string
 703		"maintainer"?:  string
 704		"keywords"?: [...string]
 705		"homepage"?: string
 706		"license"?:  string
 707	})
 708
 709	#MakeselfFile: close({
 710		"src"?:          string
 711		"dst"?:          string
 712		"strip_parent"?: bool
 713	})
 714
 715	#Mastodon: close({
 716		"enabled"?:          bool | string
 717		"message_template"?: string
 718		"server"!:           string
 719	})
 720
 721	#Mattermost: close({
 722		"enabled"?:          bool | string
 723		"message_template"?: string
 724		"title_template"?:   string
 725		"color"?:            string
 726		"channel"?:          string
 727		"username"?:         string
 728		"icon_emoji"?:       string
 729		"icon_url"?:         string
 730	})
 731
 732	#Milestone: close({
 733		"repo"?:          #Repo
 734		"close"?:         bool
 735		"fail_on_error"?: bool
 736		"name_template"?: string
 737	})
 738
 739	#NFPM: close({
 740		"file_name_template"?: string
 741		"package_name"?:       string
 742		"epoch"?:              string
 743		"release"?:            string
 744		"prerelease"?:         string
 745		"version_metadata"?:   string
 746		"dependencies"?: [...string]
 747		"recommends"?: [...string]
 748		"suggests"?: [...string]
 749		"conflicts"?: [...string]
 750		"umask"?: matchN(1, [string, int])
 751		"replaces"?: [...string]
 752		"provides"?: [...string]
 753		"contents"?: [...#NFPMContent]
 754		"scripts"?:   #NFPMScripts
 755		"rpm"?:       #NFPMRPM
 756		"deb"?:       #NFPMDeb
 757		"apk"?:       #NFPMAPK
 758		"archlinux"?: #NFPMArchLinux
 759		"ipk"?:       #NFPMIPK
 760		"msix"?:      #NFPMMSIX
 761		"overrides"?: {
 762			[string]: #NFPMOverridables
 763		}
 764		"id"?: string
 765		"ids"?: [...string]
 766		"formats"?: [..."apk" | "deb" | "rpm" | "termux.deb" | "archlinux" | "ipk" | "msix"]
 767		"section"?:     string
 768		"priority"?:    string
 769		"vendor"?:      string
 770		"homepage"?:    string
 771		"maintainer"?:  string
 772		"description"?: string
 773		"license"?:     string
 774		"bindir"?:      string
 775		"libdirs"?:     #Libdirs
 776		"changelog"?:   string
 777		"mtime"?:       string
 778		"meta"?:        bool
 779		"goamd64"?: [...string]
 780		"builds"?: [...string]
 781	})
 782
 783	#NFPMAPK: close({
 784		"scripts"?:   #NFPMAPKScripts
 785		"signature"?: #NFPMAPKSignature
 786	})
 787
 788	#NFPMAPKScripts: close({
 789		"preupgrade"?:  string
 790		"postupgrade"?: string
 791	})
 792
 793	#NFPMAPKSignature: close({
 794		"key_file"?: string
 795		"key_name"?: string
 796	})
 797
 798	#NFPMArchLinux: close({
 799		"pkgbase"?:  string
 800		"packager"?: string
 801		"scripts"?:  #NFPMArchLinuxScripts
 802	})
 803
 804	#NFPMArchLinuxScripts: close({
 805		"preupgrade"?:  string
 806		"postupgrade"?: string
 807	})
 808
 809	#NFPMContent: close({
 810		"src"?:       string
 811		"dst"!:       string
 812		"type"?:      "symlink" | "ghost" | "config" | "config|noreplace" | "dir" | "tree" | ""
 813		"packager"?:  string
 814		"file_info"?: #FileInfo
 815		"expand"?:    bool
 816	})
 817
 818	#NFPMDeb: close({
 819		"scripts"?:  #NFPMDebScripts
 820		"triggers"?: #NFPMDebTriggers
 821		"breaks"?: [...string]
 822		"signature"?: #NFPMDebSignature
 823		"lintian_overrides"?: [...string]
 824		"compression"?: "gzip" | "xz" | "zstd" | "none"
 825		"fields"?: {
 826			[string]: string
 827		}
 828		"predepends"?: [...string]
 829	})
 830
 831	#NFPMDebScripts: close({
 832		"rules"?:     string
 833		"templates"?: string
 834		"config"?:    string
 835	})
 836
 837	#NFPMDebSignature: close({
 838		"key_file"?: string
 839		"type"?:     string
 840	})
 841
 842	#NFPMDebTriggers: close({
 843		"interest"?: [...string]
 844		"interest_await"?: [...string]
 845		"interest_noawait"?: [...string]
 846		"activate"?: [...string]
 847		"activate_await"?: [...string]
 848		"activate_noawait"?: [...string]
 849	})
 850
 851	#NFPMIPK: close({
 852		"abi_version"?: string
 853		"alternatives"?: [...#NFPMIPKAlternative]
 854		"auto_installed"?: bool
 855		"essential"?:      bool
 856		"predepends"?: [...string]
 857		"tags"?: [...string]
 858		"fields"?: {
 859			[string]: string
 860		}
 861	})
 862
 863	#NFPMIPKAlternative: close({
 864		"priority"?:  int
 865		"target"?:    string
 866		"link_name"?: string
 867	})
 868
 869	#NFPMMSIX: close({
 870		"arch"?:       string
 871		"publisher"?:  string
 872		"identity"?:   #NFPMMSIXIdentity
 873		"properties"?: #NFPMMSIXProperties
 874		"applications"?: [...#NFPMMSIXApplication]
 875		"dependencies"?: #NFPMMSIXDependencies
 876		"capabilities"?: #NFPMMSIXCapabilities
 877		"signature"?:    #NFPMMSIXSignature
 878	})
 879
 880	#NFPMMSIXApplication: close({
 881		"id"!:              string
 882		"executable"!:      string
 883		"entry_point"?:     string
 884		"visual_elements"?: #NFPMMSIXVisualElements
 885	})
 886
 887	#NFPMMSIXCapabilities: close({
 888		"capabilities"?: [...string]
 889		"device_capabilities"?: [...string]
 890		"restricted"?: [...string]
 891	})
 892
 893	#NFPMMSIXDependencies: close({
 894		"target_device_families"?: [...#NFPMMSIXTargetDeviceFamily]
 895	})
 896
 897	#NFPMMSIXIdentity: close({
 898		"resource_id"?: string
 899	})
 900
 901	#NFPMMSIXProperties: close({
 902		"display_name"?:           string
 903		"publisher_display_name"?: string
 904		"logo"?:                   string
 905	})
 906
 907	#NFPMMSIXSignature: close({
 908		"pfx_file"?: string
 909	})
 910
 911	#NFPMMSIXTargetDeviceFamily: close({
 912		"name"!:               string
 913		"min_version"!:        string
 914		"max_version_tested"!: string
 915	})
 916
 917	#NFPMMSIXVisualElements: close({
 918		"display_name"?:       string
 919		"description"?:        string
 920		"background_color"?:   string
 921		"square150x150_logo"?: string
 922		"square44x44_logo"?:   string
 923	})
 924
 925	#NFPMOverridables: close({
 926		"file_name_template"?: string
 927		"package_name"?:       string
 928		"epoch"?:              string
 929		"release"?:            string
 930		"prerelease"?:         string
 931		"version_metadata"?:   string
 932		"dependencies"?: [...string]
 933		"recommends"?: [...string]
 934		"suggests"?: [...string]
 935		"conflicts"?: [...string]
 936		"umask"?: matchN(1, [string, int])
 937		"replaces"?: [...string]
 938		"provides"?: [...string]
 939		"contents"?: [...#NFPMContent]
 940		"scripts"?:   #NFPMScripts
 941		"rpm"?:       #NFPMRPM
 942		"deb"?:       #NFPMDeb
 943		"apk"?:       #NFPMAPK
 944		"archlinux"?: #NFPMArchLinux
 945		"ipk"?:       #NFPMIPK
 946		"msix"?:      #NFPMMSIX
 947	})
 948
 949	#NFPMRPM: close({
 950		"summary"?:     string
 951		"group"?:       string
 952		"compression"?: string
 953		"signature"?:   #NFPMRPMSignature
 954		"scripts"?:     #NFPMRPMScripts
 955		"prefixes"?: [...string]
 956		"packager"?:  string
 957		"buildhost"?: string
 958	})
 959
 960	#NFPMRPMScripts: close({
 961		"pretrans"?:  string
 962		"posttrans"?: string
 963	})
 964
 965	#NFPMRPMSignature: close({
 966		"key_file"?: string
 967	})
 968
 969	#NFPMScripts: close({
 970		"preinstall"?:  string
 971		"postinstall"?: string
 972		"preremove"?:   string
 973		"postremove"?:  string
 974	})
 975
 976	#Nix: close({
 977		"name"?:                string
 978		"path"?:                string
 979		"repository"?:          #RepoRef
 980		"commit_author"?:       #CommitAuthor
 981		"commit_msg_template"?: string
 982		"ids"?: [...string]
 983		"goamd64"?:       string
 984		"skip_upload"?:   bool | string
 985		"url_template"?:  string
 986		"install"?:       string
 987		"extra_install"?: string
 988		"post_install"?:  string
 989		"description"?:   string
 990		"homepage"?:      string
 991		"license"?:       string
 992		"dependencies"?: [...#NixDependency]
 993		"formatter"?:    "alejandra" | "nixfmt"
 994		"main_program"?: string
 995	})
 996
 997	#NixDependency: matchN(1, [string, _#defs."/$defs/NixDependency/oneOf/1"])
 998
 999	#Notarize: close({
1000		"macos"!: [...#MacOSSignNotarize]
1001	})
1002
1003	#OpenCollective: close({
1004		"enabled"?:          bool | string
1005		"slug"?:             string
1006		"title_template"?:   string
1007		"message_template"?: string
1008	})
1009
1010	#Project: close({
1011		"version"?:      2 & int
1012		"pro"?:          bool
1013		"project_name"?: string
1014		"env"?: [...string]
1015		"release"?: #Release
1016		"milestones"?: [...#Milestone]
1017		"homebrew_casks"?: [...#HomebrewCask]
1018		"nix"?: [...#Nix]
1019		"winget"?: [...#Winget]
1020		"aurs"?: [...#AUR]
1021		"aur_sources"?: [...#AURSource]
1022		"krews"?: [...#Krew]
1023		"kos"?: [...#Ko]
1024		"scoops"?: [...#Scoop]
1025		"builds"?: [...#Build]
1026		"archives"?: [...#Archive]
1027		"nfpms"?: [...#NFPM]
1028		"srpm"?: #SRPM
1029		"snapcrafts"?: [...#Snapcraft]
1030		"flatpak"?: [...#Flatpak]
1031		"snapshot"?: #Snapshot
1032		"checksum"?: #Checksum
1033		"dockers_v2"?: [...#DockerV2]
1034		"docker_digest"?: #DockerDigest
1035		"artifactories"?: [...#Upload]
1036		"uploads"?: [...#Upload]
1037		"blobs"?: [...#Blob]
1038		"publishers"?: [...#Publisher]
1039		"changelog"?: #Changelog
1040		"dist"?:      string
1041		"signs"?: [...#Sign]
1042		"notarize"?: #Notarize
1043		"docker_signs"?: [...#Sign]
1044		"binary_signs"?: [...#BinarySign]
1045		"env_files"?: #EnvFiles
1046		"before"?:    #Before
1047		"source"?:    #Source
1048		"gomod"?:     #GoMod
1049		"announce"?:  #Announce
1050		"sboms"?: [...#SBOM]
1051		"chocolateys"?: [...#Chocolatey]
1052		"git"?:          #Git
1053		"report_sizes"?: bool
1054		"metadata"?:     #ProjectMetadata
1055		"makeselfs"?: [...#Makeself]
1056		"universal_binaries"?: [...#UniversalBinary]
1057		"upx"?: [...#UPX]
1058		"mcp"?:         #MCP
1059		"retry"?:       #Retry
1060		"force_token"?: "github" | "gitlab" | "gitea" | ""
1061		"github_urls"?: #GitHubURLs
1062		"gitlab_urls"?: #GitLabURLs
1063		"gitea_urls"?:  #GiteaURLs
1064		"brews"?: [...#Homebrew]
1065		"dockers"?: [...#Docker]
1066		"docker_manifests"?: [...#DockerManifest]
1067	})
1068
1069	#ProjectMetadata: close({
1070		"mod_timestamp"?: string
1071	})
1072
1073	#Publisher: close({
1074		"name"?: string
1075		"ids"?: [...string]
1076		"checksum"?:  bool
1077		"signature"?: bool
1078		"meta"?:      bool
1079		"dir"?:       string
1080		"cmd"?:       string
1081		"env"?: [...string]
1082		"extra_files"?: [...#ExtraFile]
1083		"disable"?: bool | string
1084	})
1085
1086	#PullRequest: close({
1087		"enabled"?: bool
1088		"base"?:    #PullRequestBase
1089		"draft"?:   bool
1090	})
1091
1092	#PullRequestBase: matchN(1, [string, _#defs."/$defs/PullRequestBase/oneOf/1"])
1093
1094	#Reddit: close({
1095		"enabled"?:        bool | string
1096		"application_id"?: string
1097		"username"?:       string
1098		"title_template"?: string
1099		"url_template"?:   string
1100		"sub"?:            string
1101	})
1102
1103	#Release: close({
1104		"github"?:                 #Repo
1105		"gitlab"?:                 #Repo
1106		"gitea"?:                  #Repo
1107		"draft"?:                  bool
1108		"replace_existing_draft"?: bool
1109		"use_existing_draft"?:     bool
1110		"target_commitish"?:       string
1111		"disable"?:                bool | string
1112		"skip_upload"?:            bool | string
1113		"prerelease"?:             string
1114		"make_latest"?:            bool | string
1115		"name_template"?:          string
1116		"ids"?: [...string]
1117		"extra_files"?: [...#ExtraFile]
1118		"discussion_category_name"?:   string
1119		"header"?:                     string
1120		"footer"?:                     string
1121		"mode"?:                       "keep-existing" | "append" | "prepend" | "replace"
1122		"replace_existing_artifacts"?: bool
1123		"include_meta"?:               bool
1124	})
1125
1126	#Repo: close({
1127		"owner"?: string
1128		"name"?:  string
1129		"token"?: string
1130	})
1131
1132	#RepoRef: close({
1133		"owner"?:        string
1134		"name"?:         string
1135		"token"?:        string
1136		"branch"?:       string
1137		"git"?:          #GitRepoRef
1138		"pull_request"?: #PullRequest
1139	})
1140
1141	#Retry: close({
1142		"attempts"?:  int
1143		"delay"?:     int
1144		"max_delay"?: int
1145	})
1146
1147	#SBOM: close({
1148		"id"?:  string
1149		"cmd"?: string
1150		"env"?: [...string]
1151		"args"?: [...string]
1152		"documents"?: [...string]
1153		"artifacts"?: "source" | "package" | "archive" | "binary" | "any" | "none"
1154		"ids"?: [...string]
1155		"disable"?: bool | string
1156	})
1157
1158	#SMTP: close({
1159		"enabled"?:  bool | string
1160		"host"?:     string
1161		"port"?:     int
1162		"username"?: string
1163		"from"?:     string
1164		"to"?: [...string]
1165		"subject_template"?:     string
1166		"body_template"?:        string
1167		"insecure_skip_verify"?: bool
1168	})
1169
1170	#SRPM: close({
1171		"summary"?:     string
1172		"group"?:       string
1173		"compression"?: string
1174		"signature"?:   #NFPMRPMSignature
1175		"scripts"?:     #NFPMRPMScripts
1176		"prefixes"?: [...string]
1177		"packager"?:           string
1178		"buildhost"?:          string
1179		"enabled"?:            bool
1180		"package_name"?:       string
1181		"epoch"?:              string
1182		"import_path"?:        string
1183		"section"?:            string
1184		"maintainer"?:         string
1185		"file_name_template"?: string
1186		"spec_file"?:          string
1187		"license"?:            string
1188		"license_file_name"?:  string
1189		"vendor"?:             string
1190		"url"?:                string
1191		"description"?:        string
1192		"bins"?: {
1193			[string]: string
1194		}
1195		"docs"?: [...string]
1196		"contents"?: [...#NFPMContent]
1197	})
1198
1199	#Scoop: close({
1200		"name"?: string
1201		"ids"?: [...string]
1202		"repository"?:          #RepoRef
1203		"directory"?:           string
1204		"commit_author"?:       #CommitAuthor
1205		"commit_msg_template"?: string
1206		"homepage"?:            string
1207		"description"?:         string
1208		"license"?:             string
1209		"url_template"?:        string
1210		"persist"?: [...string]
1211		"skip_upload"?: bool | string
1212		"pre_install"?: [...string]
1213		"post_install"?: [...string]
1214		"depends"?: [...string]
1215		"shortcuts"?: [...[...string]]
1216		"goamd64"?: string
1217	})
1218
1219	#Sign: close({
1220		"id"?:  string
1221		"cmd"?: string
1222		"args"?: [...string]
1223		"signature"?: string
1224		"artifacts"?: "all" | "manifests" | "images" | "checksum" | "source" | "package" | "archive" | "binary" | "sbom"
1225		"ids"?: [...string]
1226		"stdin"?:      string
1227		"stdin_file"?: string
1228		"env"?: [...string]
1229		"certificate"?: string
1230		"output"?:      bool | string
1231	})
1232
1233	#Slack: close({
1234		"enabled"?:          bool | string
1235		"message_template"?: string
1236		"channel"?:          string
1237		"username"?:         string
1238		"icon_emoji"?:       string
1239		"icon_url"?:         string
1240		"blocks"?: [...#SlackBlock]
1241		"attachments"?: [...#SlackAttachment]
1242	})
1243
1244	#SlackAttachment: close({
1245		"Internal"!: _
1246	})
1247
1248	#SlackBlock: close({
1249		"Internal"!: _
1250	})
1251
1252	#Snapcraft: close({
1253		"name_template"?: string
1254		"publish"?:       bool
1255		"id"?:            string
1256		"ids"?: [...string]
1257		"name"?:        string
1258		"title"?:       string
1259		"summary"!:     string
1260		"description"!: string
1261		"icon"?:        string
1262		"base"?:        string
1263		"license"?:     string
1264		"grade"?:       "stable" | "devel"
1265		"channel_templates"?: [...string]
1266		"confinement"?: "strict" | "classic" | "devmode"
1267		"assumes"?: [...string]
1268		"layout"?: {
1269			[string]: #SnapcraftLayoutMetadata
1270		}
1271		"apps"?: {
1272			[string]: #SnapcraftAppMetadata
1273		}
1274		"hooks"?: {
1275			...
1276		}
1277		"plugs"?: {
1278			...
1279		}
1280		"disable"?: bool | string
1281		"extra_files"?: [...#SnapcraftExtraFiles]
1282		"builds"?: [...string]
1283	})
1284
1285	#SnapcraftAppMetadata: close({
1286		"command"!: string
1287		"args"?:    string
1288		"adapter"?: string
1289		"after"?: [...string]
1290		"aliases"?: [...string]
1291		"autostart"?: string
1292		"before"?: [...string]
1293		"bus_name"?: string
1294		"command_chain"?: [...string]
1295		"common_id"?: string
1296		"completer"?: string
1297		"daemon"?:    string
1298		"desktop"?:   string
1299		"environment"?: {
1300			...
1301		}
1302		"extensions"?: [...string]
1303		"install_mode"?: string
1304		"passthrough"?: {
1305			...
1306		}
1307		"plugs"?: [...string]
1308		"post_stop_command"?: string
1309		"refresh_mode"?:      string
1310		"reload_command"?:    string
1311		"restart_condition"?: string
1312		"restart_delay"?:     string
1313		"slots"?: [...string]
1314		"sockets"?: {
1315			...
1316		}
1317		"start_timeout"?:    string
1318		"stop_command"?:     string
1319		"stop_mode"?:        string
1320		"stop_timeout"?:     string
1321		"timer"?:            string
1322		"watchdog_timeout"?: string
1323	})
1324
1325	#SnapcraftExtraFiles: close({
1326		"source"!:      string
1327		"destination"?: string
1328		"mode"?:        int
1329	})
1330
1331	#SnapcraftLayoutMetadata: close({
1332		"symlink"?:   string
1333		"bind"?:      string
1334		"bind_file"?: string
1335		"type"?:      string
1336	})
1337
1338	#Snapshot: close({
1339		"name_template"?:    string
1340		"version_template"?: string
1341	})
1342
1343	#Source: close({
1344		"name_template"?:   string
1345		"format"?:          "tar" | "tgz" | "tar.gz" | "zip"
1346		"enabled"?:         bool
1347		"prefix_template"?: string
1348		"files"?: [...#File]
1349	})
1350
1351	#StringArray: matchN(1, [string, [...string]])
1352
1353	#Teams: close({
1354		"enabled"?:          bool | string
1355		"title_template"?:   string
1356		"message_template"?: string
1357		"color"?:            string
1358		"icon_url"?:         string
1359	})
1360
1361	#Telegram: close({
1362		"enabled"?:          bool | string
1363		"message_template"?: string
1364		"chat_id"?: matchN(1, [string, int])
1365		"parse_mode"?: "MarkdownV2" | "HTML"
1366		"message_thread_id"?: matchN(1, [string, int])
1367	})
1368
1369	#Twitter: close({
1370		"enabled"?:          bool | string
1371		"message_template"?: string
1372	})
1373
1374	#UPX: close({
1375		"enabled"?: bool | string
1376		"ids"?: [...string]
1377		"goos"?: [...string]
1378		"goarch"?: [...string]
1379		"goarm"?: [...string]
1380		"goamd64"?: [...string]
1381		"binary"?:   string
1382		"compress"?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "best" | ""
1383		"lzma"?:     bool
1384		"brute"?:    bool
1385	})
1386
1387	#UniversalBinary: close({
1388		"id"?: string
1389		"ids"?: [...string]
1390		"name_template"?: string
1391		"replace"?:       bool
1392		"hooks"?:         #BuildHookConfig
1393		"mod_timestamp"?: string
1394	})
1395
1396	#Upload: close({
1397		"name"?: string
1398		"ids"?: [...string]
1399		"exts"?: [...string]
1400		"target"?:               string
1401		"username"?:             string
1402		"mode"?:                 "binary" | "archive"
1403		"method"?:               string
1404		"checksum_header"?:      string
1405		"client_x509_cert"?:     string
1406		"client_x509_key"?:      string
1407		"trusted_certificates"?: string
1408		"checksum"?:             bool
1409		"signature"?:            bool
1410		"meta"?:                 bool
1411		"custom_artifact_name"?: bool
1412		"custom_headers"?: {
1413			[string]: string
1414		}
1415		"extra_files"?: [...#ExtraFile]
1416		"extra_files_only"?: bool
1417		"skip"?:             bool | string
1418		"password"?:         string
1419	})
1420
1421	#Webhook: close({
1422		"enabled"?:          bool | string
1423		"skip_tls_verify"?:  bool
1424		"message_template"?: string
1425		"endpoint_url"?:     string
1426		"headers"?: {
1427			[string]: string
1428		}
1429		"content_type"?: string
1430		"expected_status_codes"?: [...int]
1431	})
1432
1433	#Winget: close({
1434		"name"?:                  string
1435		"package_name"?:          string
1436		"package_identifier"?:    string
1437		"default_locale"?:        string
1438		"publisher"!:             string
1439		"publisher_url"?:         string
1440		"publisher_support_url"?: string
1441		"privacy_url"?:           string
1442		"copyright"?:             string
1443		"copyright_url"?:         string
1444		"author"?:                string
1445		"path"?:                  string
1446		"repository"!:            #RepoRef
1447		"commit_author"?:         #CommitAuthor
1448		"commit_msg_template"?:   string
1449		"ids"?: [...string]
1450		"goamd64"?:            string
1451		"skip_upload"?:        bool | string
1452		"url_template"?:       string
1453		"short_description"!:  string
1454		"description"?:        string
1455		"homepage"?:           string
1456		"license"!:            string
1457		"license_url"?:        string
1458		"release_notes"?:      string
1459		"release_notes_url"?:  string
1460		"installation_notes"?: string
1461		"tags"?: [...string]
1462		"dependencies"?: [...#WingetDependency]
1463	})
1464
1465	#WingetDependency: close({
1466		"package_identifier"!: string
1467		"minimum_version"?:    string
1468	})
1469
1470	_#defs: "/$defs/File/oneOf/1": {
1471		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/file-alias")
1472		close({
1473			"src"?:          string
1474			"dst"?:          string
1475			"strip_parent"?: bool
1476			"info"?:         _#defs."/$defs/File/oneOf/1/$defs/FileInfo"
1477		})
1478	}
1479
1480	_#defs: "/$defs/File/oneOf/1/$defs/FileInfo": close({
1481		"owner"?: string
1482		"group"?: string
1483		"mode"?:  int
1484		"mtime"?: string
1485	})
1486
1487	_#defs: "/$defs/FileInfo/$defs/FileInfo": close({
1488		"owner"?: string
1489		"group"?: string
1490		"mode"?:  int
1491		"mtime"?: string
1492	})
1493
1494	_#defs: "/$defs/HomebrewDependency/oneOf/1": {
1495		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/homebrew-dependency-alias")
1496		close({
1497			"name"?:    string
1498			"type"?:    string
1499			"version"?: string
1500			"os"?:      "mac" | "linux"
1501		})
1502	}
1503
1504	_#defs: "/$defs/Hooks/oneOf/1/items": {
1505		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/hook")
1506		matchN(1, [string, _#defs."/$defs/Hooks/oneOf/1/items/oneOf/1"])
1507	}
1508
1509	_#defs: "/$defs/Hooks/oneOf/1/items/oneOf/1": {
1510		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/hook-alias")
1511		close({
1512			"dir"?: string
1513			"cmd"?: string
1514			"env"?: [...string]
1515			"output"?: bool
1516		})
1517	}
1518
1519	_#defs: "/$defs/NixDependency/oneOf/1": {
1520		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/nix-dependency-alias")
1521		close({
1522			"name"!: string
1523			"os"?:   "linux" | "darwin"
1524		})
1525	}
1526
1527	_#defs: "/$defs/PullRequestBase/oneOf/1": {
1528		@jsonschema(id="https://github.com/goreleaser/goreleaser/v2/pkg/config/pull-request-base-alias")
1529		close({
1530			"owner"?:  string
1531			"name"?:   string
1532			"branch"?: string
1533		})
1534	}
1535}