#https://goreleaser.com/static/schema.json # release --skip=publish # goreleaser build --skip=validate --clean --debug # GOPROXY=https://goproxy.cn # docker run -it --rm -v $PWD:/app -v /go:/go -w /app --platform=linux/arm64 golang:alpine3.19 # docker run -it --rm -v $PWD:/app -v /go:/go -w /app goreleaser/goreleaser-cross build --skip=validate --clean --debug # docker run -it --rm -v $PWD:/app -v /go:/go -w /app bjdgyc/dcross goreleaser build --skip=validate --clean --debug version: 1 dist: dist before: hooks: - pwd # - cmd: go mod tidy # dir: # "{{ dir .Dist}}" # output: true # - cmd: go generate # dir: # "{{ dir .Dist}}" # output: true builds: - id: "build" #main: . dir: ./server hooks: pre: - cmd: go mod tidy dir: ./server output: true - cmd: go generate dir: ./server output: true # {{- if eq .Arch "amd64" }}CC=x86_64-linux-gnu-gcc CXX=x86_64-linux-gnu-g++{{- end }} env: - CGO_ENABLED=1 - >- {{- if eq .Os "linux" }} {{- if eq .Arch "amd64" }}CC=x86_64-linux-musl-gcc{{- end }} {{- if eq .Arch "arm64" }}CC=aarch64-linux-gnu-gcc{{- end }} {{- end }} {{- if eq .Os "darwin" }} {{- if eq .Arch "amd64"}}CC=o64-clang{{- end }} {{- if eq .Arch "arm64"}}CC=oa64-clang{{- end }} {{- end }} {{- if eq .Os "windows" }} {{- if eq .Arch "amd64"}}CC=x86_64-w64-mingw32-gcc{{- end }} {{- if eq .Arch "arm64"}}CC=aarch64-linux-gnu-gcc{{- end }} {{- end }} goos: - linux #- darwin #- windows goarch: - amd64 #- arm64 # https://go.dev/wiki/MinimumRequirements goamd64: - v1 command: build flags: - -trimpath - -tags osusergo,netgo,sqlite_omit_load_extension ldflags: # go tool link -help # go tool compile -help # -linkmode external # -extld=$CC # -fpic 作为动态链接库的时候 需要添加 - -s -w -extldflags '-static' -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.builtBy=dcross archives: - id: "archive1" format: tar.gz # this name template makes the OS and Arch compatible with the results of `uname`. name_template: >- {{ .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} {{- if .Arm }}v{{ .Arm }}{{ end }} # use zip for windows archives format_overrides: - goos: windows format: zip changelog: sort: asc filters: exclude: - "^docs:" - "^test:"