# SPDX-FileCopyrightText: 2023 Iván SZKIBA # # SPDX-License-Identifier: AGPL-3.0-only project_name: k6x env: - OWNER=szkiba before: hooks: - go mod tidy builds: - env: - CGO_ENABLED=0 goos: [ 'darwin', 'linux', 'windows' ] goarch: [ 'amd64', 'arm64' ] ldflags: - '-s -w -X {{.ModulePath}}/internal/cmd._version={{.Version}} -X {{.ModulePath}}/internal/cmd._appname={{.ProjectName}} -X {{.ModulePath}}/internal/cmd._owner={{index .Env "GITHUB_REPOSITORY_OWNER"}}' source: enabled: true name_template: '{{ .ProjectName }}_{{ .Version }}_source' archives: - id: bundle format: tar.gz format_overrides: - goos: windows format: zip nfpms: - package_name: '{{.ProjectName}}' vendor: Iván Szkiba maintainer: Iván Szkiba <iszkiba@gmail.com> description: |- Automatic k6 provisioning with extensions. license: AGPL-3.0-only formats: [ 'deb', 'rpm' ] umask: 0o022 overrides: deb: contents: - src: LICENSE dst: /usr/share/doc/{{.ProjectName}}/copyright - src: README.md dst: /usr/share/doc/{{.ProjectName}}/README.md rpm: contents: - src: LICENSE dst: /usr/share/doc/{{.ProjectName}}/LICENSE - src: README.md dst: /usr/share/doc/{{.ProjectName}}/README.md checksum: name_template: '{{ .ProjectName }}_{{ .Version }}_checksums.txt' snapshot: name_template: "{{ incpatch .Version }}-next+{{.ShortCommit}}{{if .IsGitDirty}}.dirty{{else}}{{end}}" changelog: sort: asc abbrev: -1 filters: exclude: - '^chore:' - '^docs:' - '^test:' dockers: - id: amd64 dockerfile: Dockerfile.goreleaser use: buildx image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:{{ .Tag }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:latest-amd64" build_flag_templates: - "--platform=linux/amd64" - "--pull" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.title={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - "--label=org.opencontainers.image.licenses=AGPL-3.0-only" - id: arm64 dockerfile: Dockerfile.goreleaser use: buildx image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:{{ .Tag }}-arm64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}-arm64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}-arm64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:latest-arm64" build_flag_templates: - "--platform=linux/arm64" - "--pull" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.title={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - "--label=org.opencontainers.image.licenses=AGPL-3.0-only" docker_manifests: - id: tag name_template: "{{ .Env.OWNER }}/{{ .ProjectName }}:{{ .Tag }}" image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:{{ .Tag }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:{{ .Tag }}-arm64" - id: major name_template: "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}" image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}-arm64" - id: major-minor name_template: "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}" image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}-arm64" - id: latest name_template: "{{ .Env.OWNER }}/{{ .ProjectName }}:latest" image_templates: - "{{ .Env.OWNER }}/{{ .ProjectName }}:latest-amd64" - "{{ .Env.OWNER }}/{{ .ProjectName }}:latest-arm64"