builds: - id: build env: - CGO_ENABLED=0 - GO111MODULE=on goos: - linux - windows - darwin - freebsd ldflags: - -linkmode=internal -s -w -X main.Version="{{ .Version }}" -X main.SHA="{{ .FullCommit }}" -X main.BuildTime={{ .Timestamp }} before: hooks: - go mod tidy changelog: sort: asc use: github groups: - title: 'Breaking changes:' regexp: "(?i)^.*breaking[(\\w)]*:+.*$" order: 0 - title: 'Major features:' regexp: "(?i)^.*(major|new provider|feature)[(\\w)]*:+.*$" order: 1 - title: 'Provider-specific changes:' regexp: "(?i)((akamaiedge|autodns|axfrd|azure|bind|cloudflare|cloudflareapi_old|cloudns|cscglobal|desec|digitalocean|dnsimple|dnsmadeeasy|doh|domainnameshop|easyname|exoscale|gandi|gcloud|gcore|hedns|hetzner|hexonet|hostingde|inwx|linode|loopia|luadns|msdns|namecheap|namedotcom|netcup|netlify|ns1|opensrs|oracle|ovh|packetframe|porkbun|powerdns|route53|rwth|softlayer|transip|vultr).*:)+.*" order: 2 - title: 'Deprecation warnings:' regexp: "(?i)^.*Deprecate[(\\w)]*:+.*$" order: 10 - title: 'Other changes and improvements:' order: 9 filters: exclude: - '^test:' - Merge pull request - Merge branch archives: - format_overrides: - goos: windows format: zip universal_binaries: - replace: true id: build nfpms: - file_name_template: '{{ .ProjectName }}-{{ .Version }}.{{ .Arch }}' id: packages_rpm homepage: https://docs.dnscontrol.org/ description: "DNSControl: Infrastructure as Code for DNS Zones" maintainer: 'Tom Limoncelli ' license: MIT formats: - rpm replacements: 386: i386 amd64: x86_64 - file_name_template: '{{ .ProjectName }}-{{ .Version }}.{{ .Arch }}' id: packages_deb homepage: https://docs.dnscontrol.org/ description: "DNSControl: Infrastructure as Code for DNS Zones" maintainer: 'Tom Limoncelli ' license: MIT formats: - deb replacements: 386: i386 dockers: - image_templates: - &amd_image "stackexchange/{{.ProjectName}}:{{ .Version }}-amd64" goos: linux goarch: amd64 use: buildx ids: - build build_flag_templates: - "--pull" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/amd64" - image_templates: - &386_image "stackexchange/{{.ProjectName}}:{{ .Version }}-386" goos: linux goarch: '386' use: buildx ids: - build build_flag_templates: - "--pull" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/i386" - image_templates: - &arm_image "stackexchange/{{.ProjectName}}:{{ .Version }}-arm64" goos: linux goarch: arm64 use: buildx ids: - build build_flag_templates: - "--pull" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/arm64" docker_manifests: - name_template: "stackexchange/{{.ProjectName}}:v{{ .Version }}" image_templates: - *amd_image - *386_image - *arm_image - name_template: "stackexchange/{{.ProjectName}}:latest" skip_push: auto image_templates: - *amd_image - *386_image - *arm_image checksum: name_template: 'checksums.txt' snapshot: name_template: "{{ incpatch .Version }}-next" release: draft: true prerelease: auto mode: append