version: 2 project_name: traggo builds: - id: linux-amd64 main: ./ goos: [linux] goarch: ['amd64'] flags: ['-tags="netgo osusergo sqlite_omit_load_extension"'] ldflags: ["-s","-w","-linkmode","external","-extldflags","-static","-X main.BuildDate={{.Date}}","-X main.BuildMode=prod","-X main.BuildCommit={{.Commit}}","-X main.BuildVersion={{.Version}}"] - id: linux-armhf main: ./ goos: [linux] goarch: [arm] goarm: [7] env: [CC=arm-linux-gnueabihf-gcc, CXX=arm-linux-gnueabihf-g++] flags: ['-tags="netgo osusergo sqlite_omit_load_extension"'] ldflags: ["-s","-w","-linkmode","external","-extldflags","-static","-X main.BuildDate={{.Date}}","-X main.BuildMode=prod","-X main.BuildCommit={{.Commit}}","-X main.BuildVersion={{.Version}}"] - id: linux-arm64 main: ./ goos: [linux] goarch: [arm64] env: [CC=aarch64-linux-gnu-gcc, CXX=aarch64-linux-gnu-g++] flags: ['-tags="netgo osusergo sqlite_omit_load_extension"'] ldflags: ["-s","-w","-linkmode","external","-extldflags","-static","-X main.BuildDate={{.Date}}","-X main.BuildMode=prod","-X main.BuildCommit={{.Commit}}","-X main.BuildVersion={{.Version}}"] - id: windows-amd64 main: ./ goos: [windows] goarch: [amd64] env: [CC=x86_64-w64-mingw32-gcc, CXX=x86_64-w64-mingw32-gcc] flags: ['-tags="netgo osusergo sqlite_omit_load_extension"'] ldflags: ["-s","-w","-linkmode","external","-extldflags","-static","-X main.BuildDate={{.Date}}","-X main.BuildMode=prod","-X main.BuildCommit={{.Commit}}","-X main.BuildVersion={{.Version}}"] archives: - files: - LICENSE - README.md - .env.sample name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{- if eq .Arch "386" }}i386{{- else }}{{ .Arch }}{{ end }}{{ if .Arm }}v{{ .Arm }}{{ end }}' format_overrides: - goos: windows formats: [zip] checksum: disable: true changelog: disable: true dockers: - use: buildx goos: linux goarch: amd64 image_templates: - "traggo/server:amd64-latest" - "traggo/server:amd64-{{ .RawVersion }}" dockerfile: docker/Dockerfile build_flag_templates: - "--platform=linux/amd64" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.title={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - use: buildx goos: linux goarch: arm64 image_templates: - "traggo/server:arm64-latest" - "traggo/server:arm64-{{ .RawVersion }}" dockerfile: docker/Dockerfile build_flag_templates: - "--platform=linux/arm64" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.title={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - use: buildx goos: linux goarch: arm goarm: 7 image_templates: - "traggo/server:armv7-latest" - "traggo/server:armv7-{{ .RawVersion }}" dockerfile: docker/Dockerfile build_flag_templates: - "--platform=linux/arm/v7" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.title={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" docker_manifests: - name_template: "traggo/server:latest" image_templates: - "traggo/server:amd64-latest" - "traggo/server:arm64-latest" - "traggo/server:armv7-latest" - name_template: "traggo/server:{{ .RawVersion }}" image_templates: - "traggo/server:amd64-{{ .RawVersion }}" - "traggo/server:arm64-{{ .RawVersion }}" - "traggo/server:armv7-{{ .RawVersion }}"