|
|
@@ -0,0 +1,245 @@ |
|
|
|
|
|
# .goreleaser.yaml |
|
|
|
|
|
builds: |
|
|
|
|
|
# You can have multiple builds defined as a yaml list |
|
|
|
|
|
- # |
|
|
|
|
|
# ID of the build. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: Binary name |
|
|
|
|
|
id: "my-build" |
|
|
|
|
|
|
|
|
|
|
|
# Path to main.go file or main package. |
|
|
|
|
|
# Notice: when used with `gomod.proxy`, this must be a package. |
|
|
|
|
|
# |
|
|
|
|
|
# Default is `.`. |
|
|
|
|
|
main: ./server |
|
|
|
|
|
|
|
|
|
|
|
# Binary name. |
|
|
|
|
|
# Can be a path (e.g. `bin/app`) to wrap the binary in a directory. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: Project directory name |
|
|
|
|
|
binary: program |
|
|
|
|
|
|
|
|
|
|
|
# Custom flags. |
|
|
|
|
|
# |
|
|
|
|
|
# Templates: allowed |
|
|
|
|
|
flags: |
|
|
|
|
|
- -tags=dev |
|
|
|
|
|
- -v |
|
|
|
|
|
|
|
|
|
|
|
# Custom asmflags. |
|
|
|
|
|
# |
|
|
|
|
|
# Templates: allowed |
|
|
|
|
|
asmflags: |
|
|
|
|
|
- -D mysymbol |
|
|
|
|
|
- all=-trimpath={{.Env.GOPATH}} |
|
|
|
|
|
|
|
|
|
|
|
# Custom gcflags. |
|
|
|
|
|
# |
|
|
|
|
|
# Templates: allowed |
|
|
|
|
|
gcflags: |
|
|
|
|
|
- all=-trimpath={{.Env.GOPATH}} |
|
|
|
|
|
- ./dontoptimizeme=-N |
|
|
|
|
|
|
|
|
|
|
|
# Custom ldflags. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.builtBy=goreleaser' |
|
|
|
|
|
# Templates: allowed |
|
|
|
|
|
ldflags: |
|
|
|
|
|
- -s -w -X main.build={{.Version}} |
|
|
|
|
|
- ./usemsan=-msan |
|
|
|
|
|
|
|
|
|
|
|
# Custom Go build mode. |
|
|
|
|
|
# |
|
|
|
|
|
# Valid options: |
|
|
|
|
|
# - `c-shared` |
|
|
|
|
|
# - `c-archive` |
|
|
|
|
|
# |
|
|
|
|
|
# Since: v1.13 |
|
|
|
|
|
buildmode: c-shared |
|
|
|
|
|
|
|
|
|
|
|
# Custom build tags templates. |
|
|
|
|
|
tags: |
|
|
|
|
|
- osusergo |
|
|
|
|
|
- netgo |
|
|
|
|
|
- static_build |
|
|
|
|
|
- feature |
|
|
|
|
|
|
|
|
|
|
|
# Custom environment variables to be set during the builds. |
|
|
|
|
|
# Invalid environment variables will be ignored. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: os.Environ() ++ env config section |
|
|
|
|
|
# Templates: allowed (since v1.14) |
|
|
|
|
|
env: |
|
|
|
|
|
- CGO_ENABLED=0 |
|
|
|
|
|
# complex, templated envs (v1.14+): |
|
|
|
|
|
- >- |
|
|
|
|
|
{{- if eq .Os "darwin" }} |
|
|
|
|
|
{{- if eq .Arch "amd64"}}CC=o64-clang{{- end }} |
|
|
|
|
|
{{- if eq .Arch "arm64"}}CC=aarch64-apple-darwin20.2-clang{{- end }} |
|
|
|
|
|
{{- end }} |
|
|
|
|
|
{{- if eq .Os "windows" }} |
|
|
|
|
|
{{- if eq .Arch "amd64" }}CC=x86_64-w64-mingw32-gcc{{- end }} |
|
|
|
|
|
{{- end }} |
|
|
|
|
|
|
|
|
|
|
|
# GOOS list to build for. |
|
|
|
|
|
# For more info refer to: https://golang.org/doc/install/source#environment |
|
|
|
|
|
# |
|
|
|
|
|
# Default: [ 'darwin', 'linux', 'windows' ] |
|
|
|
|
|
goos: |
|
|
|
|
|
- freebsd |
|
|
|
|
|
- windows |
|
|
|
|
|
|
|
|
|
|
|
# GOARCH to build for. |
|
|
|
|
|
# For more info refer to: https://golang.org/doc/install/source#environment |
|
|
|
|
|
# |
|
|
|
|
|
# Default: [ '386', 'amd64', 'arm64' ] |
|
|
|
|
|
goarch: |
|
|
|
|
|
- amd64 |
|
|
|
|
|
- arm |
|
|
|
|
|
- arm64 |
|
|
|
|
|
|
|
|
|
|
|
# GOARM to build for when GOARCH is arm. |
|
|
|
|
|
# For more info refer to: https://golang.org/doc/install/source#environment |
|
|
|
|
|
# |
|
|
|
|
|
# Default: [ 6 ] |
|
|
|
|
|
goarm: |
|
|
|
|
|
- 6 |
|
|
|
|
|
- 7 |
|
|
|
|
|
|
|
|
|
|
|
# GOAMD64 to build when GOARCH is amd64. |
|
|
|
|
|
# For more info refer to: https://golang.org/doc/install/source#environment |
|
|
|
|
|
# |
|
|
|
|
|
# Default: [ 'v1' ] |
|
|
|
|
|
goamd64: |
|
|
|
|
|
- v2 |
|
|
|
|
|
- v3 |
|
|
|
|
|
|
|
|
|
|
|
# GOMIPS and GOMIPS64 to build when GOARCH is mips, mips64, mipsle or mips64le. |
|
|
|
|
|
# For more info refer to: https://golang.org/doc/install/source#environment |
|
|
|
|
|
# |
|
|
|
|
|
# Default: [ 'hardfloat' ] |
|
|
|
|
|
gomips: |
|
|
|
|
|
- hardfloat |
|
|
|
|
|
- softfloat |
|
|
|
|
|
|
|
|
|
|
|
# List of combinations of GOOS + GOARCH + GOARM to ignore. |
|
|
|
|
|
ignore: |
|
|
|
|
|
- goos: darwin |
|
|
|
|
|
goarch: 386 |
|
|
|
|
|
- goos: linux |
|
|
|
|
|
goarch: arm |
|
|
|
|
|
goarm: 7 |
|
|
|
|
|
- goarm: mips64 |
|
|
|
|
|
- gomips: hardfloat |
|
|
|
|
|
- goamd64: v4 |
|
|
|
|
|
|
|
|
|
|
|
# Optionally override the matrix generation and specify only the final list |
|
|
|
|
|
# of targets. |
|
|
|
|
|
# |
|
|
|
|
|
# Format is `{goos}_{goarch}` with their respective suffixes when |
|
|
|
|
|
# applicable: `_{goarm}`, `_{goamd64}`, `_{gomips}`. |
|
|
|
|
|
# |
|
|
|
|
|
# Special values: |
|
|
|
|
|
# - go_118_first_class: evaluates to the first-class ports of go1.18. |
|
|
|
|
|
# - go_first_class: evaluates to latest stable go first-class ports, |
|
|
|
|
|
# currently same as 1.18. |
|
|
|
|
|
# |
|
|
|
|
|
# This overrides `goos`, `goarch`, `goarm`, `gomips`, `goamd64` and |
|
|
|
|
|
# `ignores`. |
|
|
|
|
|
targets: |
|
|
|
|
|
# Since: v1.9 |
|
|
|
|
|
- go_first_class |
|
|
|
|
|
# Since: v1.9 |
|
|
|
|
|
- go_118_first_class |
|
|
|
|
|
- linux_amd64_v1 |
|
|
|
|
|
- darwin_arm64 |
|
|
|
|
|
- linux_arm_6 |
|
|
|
|
|
|
|
|
|
|
|
# Set a specific go binary to use when building. |
|
|
|
|
|
# It is safe to ignore this option in most cases. |
|
|
|
|
|
# |
|
|
|
|
|
# Default is "go" |
|
|
|
|
|
gobinary: "go1.13.4" |
|
|
|
|
|
|
|
|
|
|
|
# Sets the command to run to build. |
|
|
|
|
|
# Can be useful if you want to build tests, for example, |
|
|
|
|
|
# in which case you can set this to "test". |
|
|
|
|
|
# It is safe to ignore this option in most cases. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: build. |
|
|
|
|
|
# Since: v1.9 |
|
|
|
|
|
command: test |
|
|
|
|
|
|
|
|
|
|
|
# Set the modified timestamp on the output binary, typically |
|
|
|
|
|
# you would do this to ensure a build was reproducible. Pass |
|
|
|
|
|
# empty string to skip modifying the output. |
|
|
|
|
|
mod_timestamp: "{{ .CommitTimestamp }}" |
|
|
|
|
|
|
|
|
|
|
|
# Hooks can be used to customize the final binary, |
|
|
|
|
|
# for example, to run generators. |
|
|
|
|
|
# |
|
|
|
|
|
# Templates: allowed |
|
|
|
|
|
hooks: |
|
|
|
|
|
pre: rice embed-go |
|
|
|
|
|
post: ./script.sh {{ .Path }} |
|
|
|
|
|
|
|
|
|
|
|
# If true, skip the build. |
|
|
|
|
|
# Useful for library projects. |
|
|
|
|
|
skip: false |
|
|
|
|
|
|
|
|
|
|
|
# By default, GoReleaser will create your binaries inside |
|
|
|
|
|
# `dist/${BuildID}_${BuildTarget}`, which is a unique directory per build |
|
|
|
|
|
# target in the matrix. |
|
|
|
|
|
# You can set subdirs within that folder using the `binary` property. |
|
|
|
|
|
# |
|
|
|
|
|
# However, if for some reason you don't want that unique directory to be |
|
|
|
|
|
# created, you can set this property. |
|
|
|
|
|
# If you do, you are responsible for keeping different builds from |
|
|
|
|
|
# overriding each other. |
|
|
|
|
|
no_unique_dist_dir: true |
|
|
|
|
|
|
|
|
|
|
|
# By default, GoReleaser will check if the main filepath has a main |
|
|
|
|
|
# function. |
|
|
|
|
|
# This can be used to skip that check, in case you're building tests, for |
|
|
|
|
|
# example. |
|
|
|
|
|
# |
|
|
|
|
|
# Since: v1.9 |
|
|
|
|
|
no_main_check: true |
|
|
|
|
|
|
|
|
|
|
|
# Path to project's (sub)directory containing Go code. |
|
|
|
|
|
# This is the working directory for the Go build command(s). |
|
|
|
|
|
# If dir does not contain a `go.mod` file, and you are using `gomod.proxy`, |
|
|
|
|
|
# produced binaries will be invalid. |
|
|
|
|
|
# You would likely want to use `main` instead of this. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: '.' |
|
|
|
|
|
dir: go |
|
|
|
|
|
|
|
|
|
|
|
# Builder allows you to use a different build implementation. |
|
|
|
|
|
# This is a GoReleaser Pro feature. |
|
|
|
|
|
# Valid options are: `go` and `prebuilt`. |
|
|
|
|
|
# |
|
|
|
|
|
# Default: 'go' |
|
|
|
|
|
builder: prebuilt |
|
|
|
|
|
|
|
|
|
|
|
# Overrides allows to override some fields for specific targets. |
|
|
|
|
|
# This can be specially useful when using CGO. |
|
|
|
|
|
# Note: it'll only match if the full target matches. |
|
|
|
|
|
# |
|
|
|
|
|
# Since: v1.5 |
|
|
|
|
|
overrides: |
|
|
|
|
|
- goos: darwin |
|
|
|
|
|
goarch: arm64 |
|
|
|
|
|
goamd64: v1 |
|
|
|
|
|
goarm: "" |
|
|
|
|
|
gomips: "" |
|
|
|
|
|
ldflags: |
|
|
|
|
|
- foo |
|
|
|
|
|
tags: |
|
|
|
|
|
- bar |
|
|
|
|
|
asmflags: |
|
|
|
|
|
- foobar |
|
|
|
|
|
gcflags: |
|
|
|
|
|
- foobaz |
|
|
|
|
|
env: |
|
|
|
|
|
- CGO_ENABLED=1 |