Documentation ¶
Overview ¶
Package config contains the model and loader of the goreleaser configuration file.
Index ¶
- type Announce
- type Archive
- type Before
- type Blob
- type Build
- type BuildHookConfig
- type BuildHooks
- type ChangeLogGroup
- type Changelog
- type Checksum
- type CommitAuthor
- type Discord
- type Docker
- type DockerManifest
- type EnvFiles
- type ExtraFile
- type File
- type FileInfo
- type Filters
- type FlagArray
- type FormatOverride
- type GitHubURLs
- type GitLabURLs
- type GiteaURLs
- type GoFish
- type GoMod
- type Homebrew
- type HomebrewDependency
- type Hook
- type Hooks
- type IgnoredBuild
- type Krew
- type LinkedIn
- type Mattermost
- type Milestone
- type NFPM
- type NFPMAPK
- type NFPMAPKScripts
- type NFPMAPKSignature
- type NFPMDeb
- type NFPMDebScripts
- type NFPMDebSignature
- type NFPMDebTriggers
- type NFPMOverridables
- type NFPMRPM
- type NFPMRPMScripts
- type NFPMRPMSignature
- type NFPMScripts
- type Project
- type Publisher
- type Reddit
- type Release
- type ReleaseNotesMode
- type Repo
- type RepoRef
- type SBOM
- type SMTP
- type Scoop
- type Sign
- type Slack
- type Snapcraft
- type SnapcraftAppMetadata
- type SnapcraftExtraFiles
- type SnapcraftLayoutMetadata
- type Snapshot
- type Source
- type StringArray
- type Teams
- type Telegram
- type Twitter
- type UniversalBinary
- type Upload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Announce ¶ added in v0.166.0
type Announce struct { Skip string `yaml:"skip,omitempty"` Twitter Twitter `yaml:"twitter,omitempty"` Reddit Reddit `yaml:"reddit,omitempty"` Slack Slack `yaml:"slack,omitempty"` Discord Discord `yaml:"discord,omitempty"` Teams Teams `yaml:"teams,omitempty"` SMTP SMTP `yaml:"smtp,omitempty"` Mattermost Mattermost `yaml:"mattermost,omitempty"` LinkedIn LinkedIn `yaml:"linkedin,omitempty"` Telegram Telegram `yaml:"telegram,omitempty"` }
type Archive ¶
type Archive struct { ID string `yaml:"id,omitempty"` Builds []string `yaml:"builds,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` Replacements map[string]string `yaml:"replacements,omitempty"` Format string `yaml:"format,omitempty"` FormatOverrides []FormatOverride `yaml:"format_overrides,omitempty"` WrapInDirectory string `yaml:"wrap_in_directory,omitempty"` Files []File `yaml:"files,omitempty"` AllowDifferentBinaryCount bool `yaml:"allow_different_binary_count,omitempty"` }
Archive config used for the archive.
type Blob ¶ added in v0.109.0
type Blob struct { Bucket string `yaml:"bucket,omitempty"` Provider string `yaml:"provider,omitempty"` Region string `yaml:"region,omitempty"` DisableSSL bool `yaml:"disableSSL,omitempty"` // nolint:tagliatelle // TODO(caarlos0): rename to disable_ssl Folder string `yaml:"folder,omitempty"` KMSKey string `yaml:"kmskey,omitempty"` IDs []string `yaml:"ids,omitempty"` Endpoint string `yaml:"endpoint,omitempty"` // used for minio for example ExtraFiles []ExtraFile `yaml:"extra_files,omitempty"` }
Blob contains config for GO CDK blob.
type Build ¶
type Build struct { ID string `yaml:"id,omitempty"` Goos []string `yaml:"goos,omitempty"` Goarch []string `yaml:"goarch,omitempty"` Goarm []string `yaml:"goarm,omitempty"` Gomips []string `yaml:"gomips,omitempty"` Targets []string `yaml:"targets,omitempty"` Ignore []IgnoredBuild `yaml:"ignore,omitempty"` Dir string `yaml:"dir,omitempty"` Main string `yaml:"main,omitempty"` Ldflags StringArray `yaml:"ldflags,omitempty"` Tags FlagArray `yaml:"tags,omitempty"` Flags FlagArray `yaml:"flags,omitempty"` Binary string `yaml:"binary,omitempty"` Hooks BuildHookConfig `yaml:"hooks,omitempty"` Env []string `yaml:"env,omitempty"` Builder string `yaml:"builder,omitempty"` Asmflags StringArray `yaml:"asmflags,omitempty"` Gcflags StringArray `yaml:"gcflags,omitempty"` ModTimestamp string `yaml:"mod_timestamp,omitempty"` Skip bool `yaml:"skip,omitempty"` GoBinary string `yaml:"gobinary,omitempty"` NoUniqueDistDir bool `yaml:"no_unique_dist_dir,omitempty"` UnproxiedMain string `yaml:"-"` // used by gomod.proxy UnproxiedDir string `yaml:"-"` // used by gomod.proxy }
Build contains the build configuration section.
type BuildHookConfig ¶ added in v0.184.0
type BuildHooks ¶ added in v0.132.0
BuildHooks define actions to run before and/or after something.
type ChangeLogGroup ¶ added in v1.1.0
type ChangeLogGroup struct { Title string `yaml:"title,omitempty"` Regexp string `yaml:"regexp,omitempty"` Order int `yaml:"order,omitempty"` }
ChangeLogGroup holds the grouping criteria for the changelog.
type Changelog ¶
type Changelog struct { Filters Filters `yaml:"filters,omitempty"` Sort string `yaml:"sort,omitempty"` Skip bool `yaml:"skip,omitempty"` // TODO(caarlos0): rename to Disable to match other pipes Use string `yaml:"use,omitempty" jsonschema:"enum=git,enum=github,enum=github-native,enum=gitlab,default=git"` Groups []ChangeLogGroup `yaml:"groups,omitempty"` }
Changelog Config.
type Checksum ¶
type Checksum struct { NameTemplate string `yaml:"name_template,omitempty"` Algorithm string `yaml:"algorithm,omitempty"` IDs []string `yaml:"ids,omitempty"` Disable bool `yaml:"disable,omitempty"` ExtraFiles []ExtraFile `yaml:"extra_files,omitempty"` }
Checksum config.
type CommitAuthor ¶
type CommitAuthor struct { Name string `yaml:"name,omitempty"` Email string `yaml:"email,omitempty"` }
CommitAuthor is the author of a Git commit.
type Docker ¶
type Docker struct { ID string `yaml:"id,omitempty"` IDs []string `yaml:"ids,omitempty"` Goos string `yaml:"goos,omitempty"` Goarch string `yaml:"goarch,omitempty"` Goarm string `yaml:"goarm,omitempty"` Dockerfile string `yaml:"dockerfile,omitempty"` ImageTemplates []string `yaml:"image_templates,omitempty"` SkipPush string `yaml:"skip_push,omitempty"` Files []string `yaml:"extra_files,omitempty"` BuildFlagTemplates []string `yaml:"build_flag_templates,omitempty"` PushFlags []string `yaml:"push_flags,omitempty"` Buildx bool `yaml:"use_buildx,omitempty"` // deprecated: use Use instead Use string `yaml:"use,omitempty"` }
Docker image config.
type DockerManifest ¶ added in v0.148.0
type DockerManifest struct { ID string `yaml:"id,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` SkipPush string `yaml:"skip_push,omitempty"` ImageTemplates []string `yaml:"image_templates,omitempty"` CreateFlags []string `yaml:"create_flags,omitempty"` PushFlags []string `yaml:"push_flags,omitempty"` Use string `yaml:"use,omitempty"` }
DockerManifest config.
type EnvFiles ¶
type EnvFiles struct { GitHubToken string `yaml:"github_token,omitempty"` GitLabToken string `yaml:"gitlab_token,omitempty"` GiteaToken string `yaml:"gitea_token,omitempty"` }
EnvFiles holds paths to files that contains environment variables values like the github token for example.
type ExtraFile ¶ added in v0.127.0
type ExtraFile struct { Glob string `yaml:"glob,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` }
ExtraFile on a release.
type File ¶ added in v0.174.0
type File struct { Source string `yaml:"src,omitempty"` Destination string `yaml:"dst,omitempty"` StripParent bool `yaml:"strip_parent,omitempty"` Info FileInfo `yaml:"info,omitempty"` }
File is a file inside an archive.
func (File) JSONSchemaType ¶ added in v0.184.0
func (f File) JSONSchemaType() *jsonschema.Type
func (*File) UnmarshalYAML ¶ added in v0.174.0
UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
type FileInfo ¶ added in v0.174.0
type FileInfo struct { Owner string `yaml:"owner,omitempty"` Group string `yaml:"group"` Mode os.FileMode `yaml:"mode,omitempty"` MTime time.Time `yaml:"mtime,omitempty"` }
FileInfo is the file info of a file.
type FlagArray ¶
type FlagArray []string
FlagArray is a wrapper for an array of strings.
func (FlagArray) JSONSchemaType ¶ added in v0.184.0
func (a FlagArray) JSONSchemaType() *jsonschema.Type
func (*FlagArray) UnmarshalYAML ¶
UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
type FormatOverride ¶
type FormatOverride struct { Goos string `yaml:"goos,omitempty"` Format string `yaml:"format,omitempty"` }
FormatOverride is used to specify a custom format for a specific GOOS.
type GitHubURLs ¶
type GitHubURLs struct { API string `yaml:"api,omitempty"` Upload string `yaml:"upload,omitempty"` Download string `yaml:"download,omitempty"` SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"` }
GitHubURLs holds the URLs to be used when using github enterprise.
type GitLabURLs ¶ added in v0.112.0
type GitLabURLs struct { API string `yaml:"api,omitempty"` Download string `yaml:"download,omitempty"` SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"` }
GitLabURLs holds the URLs to be used when using gitlab ce/enterprise.
type GiteaURLs ¶ added in v0.117.0
type GiteaURLs struct { API string `yaml:"api,omitempty"` Download string `yaml:"download,omitempty"` SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"` }
GiteaURLs holds the URLs to be used when using gitea.
type GoFish ¶ added in v0.181.0
type GoFish struct { Name string `yaml:"name,omitempty"` Rig RepoRef `yaml:"rig,omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` CommitMessageTemplate string `yaml:"commit_msg_template,omitempty"` Description string `yaml:"description,omitempty"` Homepage string `yaml:"homepage,omitempty"` License string `yaml:"license,omitempty"` SkipUpload string `yaml:"skip_upload,omitempty"` URLTemplate string `yaml:"url_template,omitempty"` IDs []string `yaml:"ids,omitempty"` Goarm string `yaml:"goarm,omitempty"` }
GoFish contains the gofish section.
type Homebrew ¶
type Homebrew struct { Name string `yaml:"name,omitempty"` Tap RepoRef `yaml:"tap,omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` CommitMessageTemplate string `yaml:"commit_msg_template,omitempty"` Folder string `yaml:"folder,omitempty"` Caveats string `yaml:"caveats,omitempty"` Plist string `yaml:"plist,omitempty"` Install string `yaml:"install,omitempty"` PostInstall string `yaml:"post_install,omitempty"` Dependencies []HomebrewDependency `yaml:"dependencies,omitempty"` Test string `yaml:"test,omitempty"` Conflicts []string `yaml:"conflicts,omitempty"` Description string `yaml:"description,omitempty"` Homepage string `yaml:"homepage,omitempty"` License string `yaml:"license,omitempty"` SkipUpload string `yaml:"skip_upload,omitempty"` DownloadStrategy string `yaml:"download_strategy,omitempty"` URLTemplate string `yaml:"url_template,omitempty"` CustomRequire string `yaml:"custom_require,omitempty"` CustomBlock string `yaml:"custom_block,omitempty"` IDs []string `yaml:"ids,omitempty"` Goarm string `yaml:"goarm,omitempty"` }
Homebrew contains the brew section.
type HomebrewDependency ¶ added in v0.137.0
type HomebrewDependency struct { Name string `yaml:"name,omitempty"` Type string `yaml:"type,omitempty"` }
HomebrewDependency represents Homebrew dependency.
func (HomebrewDependency) JSONSchemaType ¶ added in v0.184.0
func (a HomebrewDependency) JSONSchemaType() *jsonschema.Type
func (*HomebrewDependency) UnmarshalYAML ¶ added in v0.137.0
func (a *HomebrewDependency) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is a custom unmarshaler that accept brew deps in both the old and new format.
type Hook ¶ added in v0.184.0
type Hook struct { Dir string `yaml:"dir,omitempty"` Cmd string `yaml:"cmd,omitempty"` Env []string `yaml:"env,omitempty"` }
func (Hook) JSONSchemaType ¶ added in v0.184.0
func (bh Hook) JSONSchemaType() *jsonschema.Type
func (*Hook) UnmarshalYAML ¶ added in v0.184.0
UnmarshalYAML is a custom unmarshaler that allows simplified declarations of commands as strings.
type Hooks ¶
type Hooks []Hook
func (Hooks) JSONSchemaType ¶ added in v0.184.0
func (bhc Hooks) JSONSchemaType() *jsonschema.Type
func (*Hooks) UnmarshalYAML ¶ added in v0.184.0
UnmarshalYAML is a custom unmarshaler that allows simplified declaration of single command.
type IgnoredBuild ¶
type IgnoredBuild struct { Goos string `yaml:"goos,omitempty"` Goarch string `yaml:"goarch,omitempty"` Goarm string `yaml:"goarm,omitempty"` Gomips string `yaml:"gomips,omitempty"` }
IgnoredBuild represents a build ignored by the user.
type Krew ¶ added in v1.0.0
type Krew struct { IDs []string `yaml:"ids,omitempty"` Name string `yaml:"name,omitempty"` Index RepoRef `yaml:"index,omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` CommitMessageTemplate string `yaml:"commit_msg_template,omitempty"` Caveats string `yaml:"caveats,omitempty"` ShortDescription string `yaml:"short_description,omitempty"` Description string `yaml:"description,omitempty"` Homepage string `yaml:"homepage,omitempty"` URLTemplate string `yaml:"url_template,omitempty"` Goarm string `yaml:"goarm,omitempty"` SkipUpload string `yaml:"skip_upload,omitempty"` }
Krew contains the krew section.
type Mattermost ¶ added in v0.181.0
type Mattermost struct { Enabled bool `yaml:"enabled,omitempty"` MessageTemplate string `yaml:"message_template,omitempty"` TitleTemplate string `yaml:"title_template,omitempty"` Color string `yaml:"color,omitempty"` Channel string `yaml:"channel,omitempty"` Username string `yaml:"username,omitempty"` IconEmoji string `yaml:"icon_emoji,omitempty"` IconURL string `yaml:"icon_url,omitempty"` }
type Milestone ¶ added in v0.140.0
type Milestone struct { Repo Repo `yaml:"repo,omitempty"` Close bool `yaml:"close,omitempty"` FailOnError bool `yaml:"fail_on_error,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` }
Milestone config used for VCS milestone.
type NFPM ¶
type NFPM struct { NFPMOverridables `yaml:",inline"` Overrides map[string]NFPMOverridables `yaml:"overrides,omitempty"` ID string `yaml:"id,omitempty"` Builds []string `yaml:"builds,omitempty"` Formats []string `yaml:"formats,omitempty"` Section string `yaml:"section,omitempty"` Priority string `yaml:"priority,omitempty"` Vendor string `yaml:"vendor,omitempty"` Homepage string `yaml:"homepage,omitempty"` Maintainer string `yaml:"maintainer,omitempty"` Description string `yaml:"description,omitempty"` License string `yaml:"license,omitempty"` Bindir string `yaml:"bindir,omitempty"` Meta bool `yaml:"meta,omitempty"` // make package without binaries - only deps }
NFPM config.
type NFPMAPK ¶ added in v0.147.0
type NFPMAPK struct { Scripts NFPMAPKScripts `yaml:"scripts,omitempty"` Signature NFPMAPKSignature `yaml:"signature,omitempty"` }
NFPMAPK is custom config only available on apk packages.
type NFPMAPKScripts ¶ added in v0.171.0
type NFPMAPKSignature ¶ added in v0.147.0
type NFPMAPKSignature struct { // RSA private key in PEM format KeyFile string `yaml:"key_file,omitempty"` KeyPassphrase string `yaml:"-"` // populated from environment variable // defaults to <maintainer email>.rsa.pub KeyName string `yaml:"key_name,omitempty"` }
NFPMAPKSignature contains config for signing apk packages created by nfpm.
type NFPMDeb ¶ added in v0.147.0
type NFPMDeb struct { Scripts NFPMDebScripts `yaml:"scripts,omitempty"` Triggers NFPMDebTriggers `yaml:"triggers,omitempty"` Breaks []string `yaml:"breaks,omitempty"` Signature NFPMDebSignature `yaml:"signature,omitempty"` }
NFPMDeb is custom configs that are only available on deb packages.
type NFPMDebScripts ¶ added in v0.147.0
type NFPMDebScripts struct { Rules string `yaml:"rules,omitempty"` Templates string `yaml:"templates,omitempty"` }
NFPMDebScripts is scripts only available on deb packages.
type NFPMDebSignature ¶ added in v0.147.0
type NFPMDebSignature struct { // PGP secret key, can be ASCII-armored KeyFile string `yaml:"key_file,omitempty"` KeyPassphrase string `yaml:"-"` // populated from environment variable // origin, maint or archive (defaults to origin) Type string `yaml:"type,omitempty"` }
NFPMDebSignature contains config for signing deb packages created by nfpm.
type NFPMDebTriggers ¶ added in v0.147.0
type NFPMDebTriggers struct { Interest []string `yaml:"interest,omitempty"` InterestAwait []string `yaml:"interest_await,omitempty"` InterestNoAwait []string `yaml:"interest_noawait,omitempty"` Activate []string `yaml:"activate,omitempty"` ActivateAwait []string `yaml:"activate_await,omitempty"` ActivateNoAwait []string `yaml:"activate_noawait,omitempty"` }
NFPMDebTriggers contains triggers only available for deb packages. https://wiki.debian.org/DpkgTriggers https://man7.org/linux/man-pages/man5/deb-triggers.5.html
type NFPMOverridables ¶
type NFPMOverridables struct { FileNameTemplate string `yaml:"file_name_template,omitempty"` PackageName string `yaml:"package_name,omitempty"` Epoch string `yaml:"epoch,omitempty"` Release string `yaml:"release,omitempty"` Prerelease string `yaml:"prerelease,omitempty"` VersionMetadata string `yaml:"version_metadata,omitempty"` Replacements map[string]string `yaml:"replacements,omitempty"` Dependencies []string `yaml:"dependencies,omitempty"` Recommends []string `yaml:"recommends,omitempty"` Suggests []string `yaml:"suggests,omitempty"` Conflicts []string `yaml:"conflicts,omitempty"` Replaces []string `yaml:"replaces,omitempty"` EmptyFolders []string `yaml:"empty_folders,omitempty"` // deprecated Contents files.Contents `yaml:"contents,omitempty"` Scripts NFPMScripts `yaml:"scripts,omitempty"` RPM NFPMRPM `yaml:"rpm,omitempty"` Deb NFPMDeb `yaml:"deb,omitempty"` APK NFPMAPK `yaml:"apk,omitempty"` }
NFPMOverridables is used to specify per package format settings.
type NFPMRPM ¶ added in v0.147.0
type NFPMRPM struct { Summary string `yaml:"summary,omitempty"` Group string `yaml:"group,omitempty"` Compression string `yaml:"compression,omitempty"` Signature NFPMRPMSignature `yaml:"signature,omitempty"` Scripts NFPMRPMScripts `yaml:"scripts,omitempty"` }
NFPMRPM is custom configs that are only available on RPM packages.
type NFPMRPMScripts ¶ added in v0.165.0
type NFPMRPMScripts struct { PreTrans string `yaml:"pretrans,omitempty"` PostTrans string `yaml:"posttrans,omitempty"` }
NFPMRPMScripts represents scripts only available on RPM packages.
type NFPMRPMSignature ¶ added in v0.147.0
type NFPMScripts ¶
type NFPMScripts struct { PreInstall string `yaml:"preinstall,omitempty"` PostInstall string `yaml:"postinstall,omitempty"` PreRemove string `yaml:"preremove,omitempty"` PostRemove string `yaml:"postremove,omitempty"` }
NFPMScripts is used to specify maintainer scripts.
type Project ¶
type Project struct { ProjectName string `yaml:"project_name,omitempty"` Env []string `yaml:"env,omitempty"` Release Release `yaml:"release,omitempty"` Milestones []Milestone `yaml:"milestones,omitempty"` Brews []Homebrew `yaml:"brews,omitempty"` Rigs []GoFish `yaml:"rigs,omitempty"` Krews []Krew `yaml:"krews,omitempty"` Scoop Scoop `yaml:"scoop,omitempty"` Builds []Build `yaml:"builds,omitempty"` Archives []Archive `yaml:"archives,omitempty"` NFPMs []NFPM `yaml:"nfpms,omitempty"` Snapcrafts []Snapcraft `yaml:"snapcrafts,omitempty"` Snapshot Snapshot `yaml:"snapshot,omitempty"` Checksum Checksum `yaml:"checksum,omitempty"` Dockers []Docker `yaml:"dockers,omitempty"` DockerManifests []DockerManifest `yaml:"docker_manifests,omitempty"` Artifactories []Upload `yaml:"artifactories,omitempty"` Uploads []Upload `yaml:"uploads,omitempty"` Blobs []Blob `yaml:"blobs,omitempty"` Publishers []Publisher `yaml:"publishers,omitempty"` Changelog Changelog `yaml:"changelog,omitempty"` Dist string `yaml:"dist,omitempty"` Signs []Sign `yaml:"signs,omitempty"` DockerSigns []Sign `yaml:"docker_signs,omitempty"` EnvFiles EnvFiles `yaml:"env_files,omitempty"` Before Before `yaml:"before,omitempty"` Source Source `yaml:"source,omitempty"` GoMod GoMod `yaml:"gomod,omitempty"` Announce Announce `yaml:"announce,omitempty"` SBOMs []SBOM `yaml:"sboms,omitempty"` UniversalBinaries []UniversalBinary `yaml:"universal_binaries,omitempty"` // this is a hack ¯\_(ツ)_/¯ SingleBuild Build `yaml:"build,omitempty"` // should be set if using github enterprise GitHubURLs GitHubURLs `yaml:"github_urls,omitempty"` // should be set if using a private gitlab GitLabURLs GitLabURLs `yaml:"gitlab_urls,omitempty"` // should be set if using Gitea GiteaURLs GiteaURLs `yaml:"gitea_urls,omitempty"` }
Project includes all project configuration.
type Publisher ¶ added in v0.134.0
type Publisher struct { Name string `yaml:"name,omitempty"` IDs []string `yaml:"ids,omitempty"` Checksum bool `yaml:"checksum,omitempty"` Signature bool `yaml:"signature,omitempty"` Dir string `yaml:"dir,omitempty"` Cmd string `yaml:"cmd,omitempty"` Env []string `yaml:"env,omitempty"` }
Publisher configuration.
type Reddit ¶ added in v0.177.0
type Reddit struct { Enabled bool `yaml:"enabled,omitempty"` ApplicationID string `yaml:"application_id,omitempty"` Username string `yaml:"username,omitempty"` TitleTemplate string `yaml:"title_template,omitempty"` URLTemplate string `yaml:"url_template,omitempty"` Sub string `yaml:"sub,omitempty"` }
type Release ¶
type Release struct { GitHub Repo `yaml:"github,omitempty"` GitLab Repo `yaml:"gitlab,omitempty"` Gitea Repo `yaml:"gitea,omitempty"` Draft bool `yaml:"draft,omitempty"` Disable bool `yaml:"disable,omitempty"` Prerelease string `yaml:"prerelease,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` IDs []string `yaml:"ids,omitempty"` ExtraFiles []ExtraFile `yaml:"extra_files,omitempty"` DiscussionCategoryName string `yaml:"discussion_category_name,omitempty"` Header string `yaml:"header,omitempty"` ReleaseNotesMode ReleaseNotesMode `yaml:"mode,omitempty" jsonschema:"enum=keep-existing,enum=append,enum=prepend,enum=replace,default=keep-existing"` }
Release config used for the GitHub/GitLab release.
type ReleaseNotesMode ¶ added in v1.1.0
type ReleaseNotesMode string
const ( ReleaseNotesModeKeepExisting ReleaseNotesMode = "keep-existing" ReleaseNotesModeAppend ReleaseNotesMode = "append" ReleaseNotesModeReplace ReleaseNotesMode = "replace" ReleaseNotesModePrepend ReleaseNotesMode = "prepend" )
type RepoRef ¶ added in v0.139.0
type RepoRef struct { Owner string `yaml:"owner,omitempty"` Name string `yaml:"name,omitempty"` Token string `yaml:"token,omitempty"` Branch string `yaml:"branch,omitempty"` }
RepoRef represents any kind of repo which may differ from the one we are building from and may therefore also require separate authentication e.g. Homebrew Tap, Scoop bucket.
type SBOM ¶ added in v1.2.0
type SBOM struct { ID string `yaml:"id,omitempty"` Cmd string `yaml:"cmd,omitempty"` Env []string `yaml:"env,omitempty"` Args []string `yaml:"args,omitempty"` Documents []string `yaml:"documents,omitempty"` Artifacts string `yaml:"artifacts,omitempty"` IDs []string `yaml:"ids,omitempty"` }
SBOM config.
type SMTP ¶ added in v0.180.0
type SMTP struct { Enabled bool `yaml:"enabled,omitempty"` Host string `yaml:"host,omitempty"` Port int `yaml:"port,omitempty"` Username string `yaml:"username,omitempty"` From string `yaml:"from,omitempty"` To []string `yaml:"to,omitempty"` SubjectTemplate string `yaml:"subject_template,omitempty"` BodyTemplate string `yaml:"body_template,omitempty"` InsecureSkipVerify bool `yaml:"insecure_skip_verify,omitempty"` }
type Scoop ¶
type Scoop struct { Name string `yaml:"name,omitempty"` Bucket RepoRef `yaml:"bucket,omitempty"` Folder string `yaml:"folder,omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` CommitMessageTemplate string `yaml:"commit_msg_template,omitempty"` Homepage string `yaml:"homepage,omitempty"` Description string `yaml:"description,omitempty"` License string `yaml:"license,omitempty"` URLTemplate string `yaml:"url_template,omitempty"` Persist []string `yaml:"persist,omitempty"` SkipUpload string `yaml:"skip_upload,omitempty"` PreInstall []string `yaml:"pre_install,omitempty"` PostInstall []string `yaml:"post_install,omitempty"` }
Scoop contains the scoop.sh section.
type Sign ¶
type Sign struct { ID string `yaml:"id,omitempty"` Cmd string `yaml:"cmd,omitempty"` Args []string `yaml:"args,omitempty"` Signature string `yaml:"signature,omitempty"` Artifacts string `yaml:"artifacts,omitempty"` IDs []string `yaml:"ids,omitempty"` Stdin *string `yaml:"stdin,omitempty"` StdinFile string `yaml:"stdin_file,omitempty"` Env []string `yaml:"env,omitempty"` Certificate string `yaml:"certificate,omitempty"` Output bool `yaml:"output,omitempty"` }
Sign config.
type Snapcraft ¶
type Snapcraft struct { NameTemplate string `yaml:"name_template,omitempty"` Replacements map[string]string `yaml:"replacements,omitempty"` Publish bool `yaml:"publish,omitempty"` ID string `yaml:"id,omitempty"` Builds []string `yaml:"builds,omitempty"` Name string `yaml:"name,omitempty"` Summary string `yaml:"summary,omitempty"` Description string `yaml:"description,omitempty"` Base string `yaml:"base,omitempty"` License string `yaml:"license,omitempty"` Grade string `yaml:"grade,omitempty"` ChannelTemplates []string `yaml:"channel_templates,omitempty"` Confinement string `yaml:"confinement,omitempty"` Layout map[string]SnapcraftLayoutMetadata `yaml:"layout,omitempty"` Apps map[string]SnapcraftAppMetadata `yaml:"apps,omitempty"` Plugs map[string]interface{} `yaml:"plugs,omitempty"` Files []SnapcraftExtraFiles `yaml:"extra_files,omitempty"` }
Snapcraft config.
type SnapcraftAppMetadata ¶
type SnapcraftAppMetadata struct { Plugs []string Daemon string Args string Completer string `yaml:"completer,omitempty"` Command string `yaml:"command"` RestartCondition string `yaml:"restart_condition,omitempty"` }
SnapcraftAppMetadata for the binaries that will be in the snap package.
type SnapcraftExtraFiles ¶ added in v0.138.0
type SnapcraftExtraFiles struct { Source string `yaml:"source"` Destination string `yaml:"destination,omitempty"` Mode uint32 `yaml:"mode,omitempty"` }
SnapcraftExtraFiles config.
type SnapcraftLayoutMetadata ¶ added in v0.160.0
type Snapshot ¶
type Snapshot struct {
NameTemplate string `yaml:"name_template,omitempty"`
}
Snapshot config.
type Source ¶ added in v0.132.0
type Source struct { NameTemplate string `yaml:"name_template,omitempty"` Format string `yaml:"format,omitempty"` Enabled bool `yaml:"enabled,omitempty"` PrefixTemplate string `yaml:"prefix_template,omitempty"` }
Source configuration.
type StringArray ¶
type StringArray []string
StringArray is a wrapper for an array of strings.
func (StringArray) JSONSchemaType ¶ added in v0.184.0
func (a StringArray) JSONSchemaType() *jsonschema.Type
func (*StringArray) UnmarshalYAML ¶
func (a *StringArray) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
type UniversalBinary ¶ added in v0.182.0
type UniversalBinary struct { ID string `yaml:"id,omitempty"` NameTemplate string `yaml:"name_template,omitempty"` Replace bool `yaml:"replace,omitempty"` Hooks BuildHookConfig `yaml:"hooks,omitempty"` }
UniversalBinary setups macos universal binaries.
type Upload ¶ added in v0.123.0
type Upload struct { Name string `yaml:"name,omitempty"` IDs []string `yaml:"ids,omitempty"` Target string `yaml:"target,omitempty"` Username string `yaml:"username,omitempty"` Mode string `yaml:"mode,omitempty"` Method string `yaml:"method,omitempty"` ChecksumHeader string `yaml:"checksum_header,omitempty"` TrustedCerts string `yaml:"trusted_certificates,omitempty"` Checksum bool `yaml:"checksum,omitempty"` Signature bool `yaml:"signature,omitempty"` CustomArtifactName bool `yaml:"custom_artifact_name,omitempty"` CustomHeaders map[string]string `yaml:"custom_headers,omitempty"` }
Upload configuration.