Documentation ¶
Overview ¶
Package config contains the model and loader of the goreleaser configuration file.
Index ¶
- type Archive
- type Before
- type Build
- type Changelog
- type Checksum
- type CommitAuthor
- type Docker
- type EnvFiles
- type Filters
- type FlagArray
- type FormatOverride
- type Git
- type GitHubURLs
- type Homebrew
- type Hooks
- type IgnoredBuild
- type NFPM
- type NFPMOverridables
- type NFPMScripts
- type Project
- type Put
- type Release
- type Repo
- type S3
- type Scoop
- type Sign
- type Snapcraft
- type SnapcraftAppMetadata
- type Snapshot
- type StringArray
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Archive ¶
type Archive struct { NameTemplate string `yaml:"name_template,omitempty"` Replacements map[string]string `yaml:",omitempty"` Format string `yaml:",omitempty"` FormatOverrides []FormatOverride `yaml:"format_overrides,omitempty"` WrapInDirectory bool `yaml:"wrap_in_directory,omitempty"` Files []string `yaml:",omitempty"` }
Archive config used for the archive
type Build ¶
type Build struct { Goos []string `yaml:",omitempty"` Goarch []string `yaml:",omitempty"` Goarm []string `yaml:",omitempty"` Targets []string `yaml:",omitempty"` Ignore []IgnoredBuild `yaml:",omitempty"` Main string `yaml:",omitempty"` Ldflags StringArray `yaml:",omitempty"` Flags FlagArray `yaml:",omitempty"` Binary string `yaml:",omitempty"` Hooks Hooks `yaml:",omitempty"` Env []string `yaml:",omitempty"` Lang string `yaml:",omitempty"` Asmflags StringArray `yaml:",omitempty"` Gcflags StringArray `yaml:",omitempty"` }
Build contains the build configuration section
type Checksum ¶
type Checksum struct {
NameTemplate string `yaml:"name_template,omitempty"`
}
Checksum config
type CommitAuthor ¶
CommitAuthor is the author of a Git commit
type Docker ¶
type Docker struct { Binary string `yaml:",omitempty"` Goos string `yaml:",omitempty"` Goarch string `yaml:",omitempty"` Goarm string `yaml:",omitempty"` Image string `yaml:",omitempty"` Dockerfile string `yaml:",omitempty"` SkipPush bool `yaml:"skip_push,omitempty"` TagTemplates []string `yaml:"tag_templates,omitempty"` Files []string `yaml:"extra_files,omitempty"` }
Docker image config
type EnvFiles ¶
type EnvFiles struct {
GitHubToken string `yaml:"github_token,omitempty"`
}
EnvFiles holds paths to files that contains environment variables values like the github token for example
type FlagArray ¶
type FlagArray []string
FlagArray is a wrapper for an array of strings
func (*FlagArray) UnmarshalYAML ¶
UnmarshalYAML is a custom unmarshaler that wraps strings in arrays
type FormatOverride ¶
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"` }
GitHubURLs holds the URLs to be used when using github enterprise
type Homebrew ¶
type Homebrew struct { Name string `yaml:",omitempty"` GitHub Repo `yaml:",omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` Folder string `yaml:",omitempty"` Caveats string `yaml:",omitempty"` Plist string `yaml:",omitempty"` Install string `yaml:",omitempty"` Dependencies []string `yaml:",omitempty"` Test string `yaml:",omitempty"` Conflicts []string `yaml:",omitempty"` Description string `yaml:",omitempty"` Homepage string `yaml:",omitempty"` SkipUpload bool `yaml:"skip_upload,omitempty"` DownloadStrategy string `yaml:"download_strategy,omitempty"` SourceTarball string `yaml:"-"` URLTemplate string `yaml:"url_template,omitempty"` }
Homebrew contains the brew section
type IgnoredBuild ¶
type IgnoredBuild struct {
Goos, Goarch, Goarm string
}
IgnoredBuild represents a build ignored by the user
type NFPM ¶
type NFPM struct { NFPMOverridables `yaml:",inline"` Overrides map[string]NFPMOverridables `yaml:"overrides,omitempty"` Formats []string `yaml:",omitempty"` Vendor string `yaml:",omitempty"` Homepage string `yaml:",omitempty"` Maintainer string `yaml:",omitempty"` Description string `yaml:",omitempty"` License string `yaml:",omitempty"` Bindir string `yaml:",omitempty"` }
NFPM config
type NFPMOverridables ¶
type NFPMOverridables struct { NameTemplate string `yaml:"name_template,omitempty"` Replacements map[string]string `yaml:",omitempty"` Dependencies []string `yaml:",omitempty"` Recommends []string `yaml:",omitempty"` Suggests []string `yaml:",omitempty"` Conflicts []string `yaml:",omitempty"` EmptyFolders []string `yaml:"empty_folders,omitempty"` Files map[string]string `yaml:",omitempty"` ConfigFiles map[string]string `yaml:"config_files,omitempty"` Scripts NFPMScripts `yaml:"scripts,omitempty"` }
NFPMOverridables is used to specify per package format settings
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"` Release Release `yaml:",omitempty"` Brew Homebrew `yaml:",omitempty"` Scoop Scoop `yaml:",omitempty"` Builds []Build `yaml:",omitempty"` Archive Archive `yaml:",omitempty"` NFPM NFPM `yaml:",omitempty"` Snapcraft Snapcraft `yaml:",omitempty"` Snapshot Snapshot `yaml:",omitempty"` Checksum Checksum `yaml:",omitempty"` Dockers []Docker `yaml:",omitempty"` Artifactories []Put `yaml:",omitempty"` Puts []Put `yaml:",omitempty"` S3 []S3 `yaml:"s3,omitempty"` Changelog Changelog `yaml:",omitempty"` Dist string `yaml:",omitempty"` Sign Sign `yaml:",omitempty"` EnvFiles EnvFiles `yaml:"env_files,omitempty"` Git Git `yaml:",omitempty"` Before Before `yaml:",omitempty"` // this is a hack ¯\_(ツ)_/¯ SingleBuild Build `yaml:"build,omitempty"` // should be set if using github enterprise GitHubURLs GitHubURLs `yaml:"github_urls,omitempty"` }
Project includes all project configuration
type Put ¶
type Put struct { Name string `yaml:",omitempty"` Target string `yaml:",omitempty"` Username string `yaml:",omitempty"` Mode string `yaml:",omitempty"` Checksum bool `yaml:",omitempty"` Signature bool `yaml:",omitempty"` }
Put HTTP upload configuration
type Release ¶
type Release struct { GitHub Repo `yaml:",omitempty"` Draft bool `yaml:",omitempty"` Prerelease bool `yaml:",omitempty"` Disable bool `yaml:",omitempty"` NameTemplate string `yaml:"name_template,omitempty"` }
Release config used for the GitHub release
type S3 ¶
type S3 struct { Region string Bucket string Folder string Profile string Endpoint string // used for minio for example ACL string }
S3 contains s3 config
type Scoop ¶
type Scoop struct { Bucket Repo `yaml:",omitempty"` CommitAuthor CommitAuthor `yaml:"commit_author,omitempty"` Homepage string `yaml:",omitempty"` Description string `yaml:",omitempty"` License string `yaml:",omitempty"` URLTemplate string `yaml:"url_template,omitempty"` Persist []string `yaml:"persist,omitempty"` }
Scoop contains the scoop.sh section
type Sign ¶
type Sign struct { Cmd string `yaml:"cmd,omitempty"` Args []string `yaml:"args,omitempty"` Signature string `yaml:"signature,omitempty"` Artifacts string `yaml:"artifacts,omitempty"` }
Sign config
type Snapcraft ¶
type Snapcraft struct { NameTemplate string `yaml:"name_template,omitempty"` Replacements map[string]string `yaml:",omitempty"` Name string `yaml:",omitempty"` Summary string `yaml:",omitempty"` Description string `yaml:",omitempty"` Grade string `yaml:",omitempty"` Confinement string `yaml:",omitempty"` Apps map[string]SnapcraftAppMetadata `yaml:",omitempty"` }
Snapcraft config
type SnapcraftAppMetadata ¶
SnapcraftAppMetadata for the binaries that will be in the snap package
type Snapshot ¶
type Snapshot struct {
NameTemplate string `yaml:"name_template,omitempty"`
}
Snapshot config
type StringArray ¶
type StringArray []string
StringArray is a wrapper for an array of strings
func (*StringArray) UnmarshalYAML ¶
func (a *StringArray) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is a custom unmarshaler that wraps strings in arrays