env: - GO111MODULE=on - CGO_ENABLED=0 before: hooks: - make build-frontend builds: - binary: listmonk main: ./cmd goos: - windows - darwin - linux - freebsd - openbsd - netbsd goarch: - amd64 - arm64 - arm goarm: - 6 - 7 ldflags: - -s -w -X "main.buildString={{ .Tag }} ({{ .ShortCommit }} {{ .Date }}, {{ .Os }}/{{ .Arch }})" -X "main.versionString={{ .Tag }}" hooks: # stuff executables with static assets. post: make pack-bin BIN={{ .Path }} archives: - format: tar.gz files: - README.md - LICENSE dockers: - use: buildx goos: linux goarch: amd64 ids: - listmonk image_templates: - "listmonk/{{ .ProjectName }}:latest-amd64" - "listmonk/{{ .ProjectName }}:{{ .Tag }}-amd64" - "ghcr.io/knadh/{{ .ProjectName }}:latest-amd64" - "ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-amd64" build_flag_templates: - --platform=linux/amd64 - --label=org.opencontainers.image.title={{ .ProjectName }} - --label=org.opencontainers.image.description={{ .ProjectName }} - --label=org.opencontainers.image.url=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.source=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.revision={{ .FullCommit }} - --label=org.opencontainers.image.licenses=AGPL-3.0 dockerfile: Dockerfile extra_files: - config.toml.sample - config-demo.toml - use: buildx goos: linux goarch: arm64 ids: - listmonk image_templates: - "listmonk/{{ .ProjectName }}:latest-arm64v8" - "listmonk/{{ .ProjectName }}:{{ .Tag }}-arm64v8" - "ghcr.io/knadh/{{ .ProjectName }}:latest-arm64v8" - "ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-arm64v8" build_flag_templates: - --platform=linux/arm64/v8 - --label=org.opencontainers.image.title={{ .ProjectName }} - --label=org.opencontainers.image.description={{ .ProjectName }} - --label=org.opencontainers.image.url=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.source=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.revision={{ .FullCommit }} - --label=org.opencontainers.image.licenses=AGPL-3.0 dockerfile: Dockerfile extra_files: - config.toml.sample - config-demo.toml - use: buildx goos: linux goarch: arm goarm: 6 ids: - listmonk image_templates: - "listmonk/{{ .ProjectName }}:latest-armv6" - "listmonk/{{ .ProjectName }}:{{ .Tag }}-armv6" - "ghcr.io/knadh/{{ .ProjectName }}:latest-armv6" - "ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-armv6" build_flag_templates: - --platform=linux/arm/v6 - --label=org.opencontainers.image.title={{ .ProjectName }} - --label=org.opencontainers.image.description={{ .ProjectName }} - --label=org.opencontainers.image.url=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.source=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.revision={{ .FullCommit }} - --label=org.opencontainers.image.licenses=AGPL-3.0 dockerfile: Dockerfile extra_files: - config.toml.sample - config-demo.toml - use: buildx goos: linux goarch: arm goarm: 7 ids: - listmonk image_templates: - "listmonk/{{ .ProjectName }}:latest-armv7" - "listmonk/{{ .ProjectName }}:{{ .Tag }}-armv7" - "ghcr.io/knadh/{{ .ProjectName }}:latest-armv7" - "ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-armv7" build_flag_templates: - --platform=linux/arm/v7 - --label=org.opencontainers.image.title={{ .ProjectName }} - --label=org.opencontainers.image.description={{ .ProjectName }} - --label=org.opencontainers.image.url=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.source=https://github.com/knadh/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.revision={{ .FullCommit }} - --label=org.opencontainers.image.licenses=AGPL-3.0 dockerfile: Dockerfile extra_files: - config.toml.sample - config-demo.toml docker_manifests: - name_template: listmonk/{{ .ProjectName }}:latest image_templates: - listmonk/{{ .ProjectName }}:latest-amd64 - listmonk/{{ .ProjectName }}:latest-arm64v8 - listmonk/{{ .ProjectName }}:latest-armv6 - listmonk/{{ .ProjectName }}:latest-armv7 - name_template: listmonk/{{ .ProjectName }}:{{ .Tag }} image_templates: - listmonk/{{ .ProjectName }}:{{ .Tag }}-amd64 - listmonk/{{ .ProjectName }}:{{ .Tag }}-arm64v8 - listmonk/{{ .ProjectName }}:{{ .Tag }}-armv6 - listmonk/{{ .ProjectName }}:{{ .Tag }}-armv7 - name_template: ghcr.io/knadh/{{ .ProjectName }}:latest image_templates: - ghcr.io/knadh/{{ .ProjectName }}:latest-amd64 - ghcr.io/knadh/{{ .ProjectName }}:latest-arm64v8 - ghcr.io/knadh/{{ .ProjectName }}:latest-armv6 - ghcr.io/knadh/{{ .ProjectName }}:latest-armv7 - name_template: ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }} image_templates: - ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-amd64 - ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-arm64v8 - ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-armv6 - ghcr.io/knadh/{{ .ProjectName }}:{{ .Tag }}-armv7