version: 2 before: hooks: - go mod tidy builds: - env: - CGO_ENABLED=0 mod_timestamp: "{{ .CommitTimestamp }}" flags: - -trimpath ldflags: - "-s -w -X main.version={{ .Version }} -X main.commit={{ .Commit }}" goos: - "darwin" - "freebsd" - "linux" - "windows" goarch: - "amd64" - "386" - "arm" - "arm64" goarm: - "6" - "7" universal_binaries: - replace: false archives: - formats: ["tar.gz"] name_template: |- {{ .ProjectName }}-{{ .Version }}_{{ if eq .Os "darwin" }}macos{{ else }}{{ .Os }}{{ end }}_{{ if eq .Arch "all" }}universal{{ else }}{{ .Arch }}{{ end }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }} wrap_in_directory: true format_overrides: - goos: windows formats: ["zip"] checksum: name_template: "checksums.txt" snapshot: version_template: "{{ .Tag }}-next" changelog: disable: true dockers: - image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-amd64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-amd64" dockerfile: Dockerfile use: buildx goos: linux goarch: amd64 build_flag_templates: - "--platform=linux/amd64" - image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-386" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-386" dockerfile: Dockerfile use: buildx goos: linux goarch: "386" build_flag_templates: - "--platform=linux/386" - image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-arm64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-arm64" use: buildx goos: linux goarch: arm64 dockerfile: Dockerfile build_flag_templates: - "--platform=linux/arm64" - image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-armv6" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-armv6" use: buildx goos: linux goarch: arm goarm: "6" dockerfile: Dockerfile build_flag_templates: - "--platform=linux/arm/v6" - image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-armv7" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-armv7" use: buildx goos: linux goarch: arm goarm: "7" dockerfile: Dockerfile build_flag_templates: - "--platform=linux/arm/v7" docker_manifests: - name_template: "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}" image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-amd64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-386" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-arm64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-armv6" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Version }}-armv7" - name_template: "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest" image_templates: - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-amd64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-386" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-arm64" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-armv6" - "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest-armv7"