project_name: trivy
builds:
  -
    main: cmd/trivy/main.go
    binary: trivy
    ldflags:
      - -s -w
      - "-extldflags '-static'"
      - -X main.version={{.Version}}
    env:
      - CGO_ENABLED=0
    goos:
      - darwin
      - linux
      - freebsd
      - openbsd
    goarch:
      - amd64
      - 386
      - arm
      - arm64
      - ppc64le
    goarm:
      - 7
    ignore:
      - goos: darwin
        goarch: 386

release:
    discussion_category_name: Announcements

nfpms:
  -
    formats:
      - deb
      - rpm
    vendor: "aquasecurity"
    homepage: "https://github.com/aquasecurity"
    maintainer: "Teppei Fukuda <knqyf263@gmail.com>"
    description: "A Fast Vulnerability Scanner for Containers"
    license: "Apache-2.0"
    file_name_template: "{{.ProjectName}}_{{.Version}}_{{.Os}}-{{.Arch}}"
    replacements:
      amd64: 64bit
      386: 32bit
      arm: ARM
      arm64: ARM64
      ppc64le: PPC64LE
      darwin: macOS
      linux: Linux
      openbsd: OpenBSD
      netbsd: NetBSD
      freebsd: FreeBSD
      dragonfly: DragonFlyBSD

archives:
  -
    format: tar.gz
    name_template: "{{.ProjectName}}_{{.Version}}_{{.Os}}-{{.Arch}}"
    replacements:
      amd64: 64bit
      386: 32bit
      arm: ARM
      arm64: ARM64
      ppc64le: PPC64LE
      darwin: macOS
      linux: Linux
      openbsd: OpenBSD
      netbsd: NetBSD
      freebsd: FreeBSD
      dragonfly: DragonFlyBSD
    files:
      - README.md
      - LICENSE
      - contrib/*.tpl


brews:
  -
    tap:
      owner: aquasecurity
      name: homebrew-trivy
    homepage: "https://github.com/aquasecurity/trivy"
    description: ""
    test: |
      system "#{bin}/program --version"

dockers:
  - image_templates:
      - "docker.io/aquasec/trivy:{{ .Version }}-amd64"
      - "docker.io/aquasec/trivy:latest-amd64"
      - "ghcr.io/aquasecurity/trivy:{{ .Version }}-amd64"
      - "ghcr.io/aquasecurity/trivy:latest-amd64"
      - "public.ecr.aws/aquasecurity/trivy:latest-amd64"
      - "public.ecr.aws/aquasecurity/trivy:{{ .Version }}-amd64"
    use_buildx: true
    goos: linux
    goarch: amd64
    ids:
      - trivy
    build_flag_templates:
      - "--label=org.label-schema.schema-version=1.0"
      - "--label=org.label-schema.name={{ .ProjectName }}"
      - "--label=org.label-schema.description=A Fast Vulnerability Scanner for Containers"
      - "--label=org.label-schema.vendor=Aqua Security"
      - "--label=org.label-schema.version={{ .Version }}"
      - "--label=org.label-schema.build-date={{ .Date }}"
      - "--label=org.label-schema.vcs=https://github.com/aquasecurity/trivy"
      - "--label=org.label-schema.vcs-ref={{ .FullCommit }}"
      - "--platform=linux/amd64"
    extra_files:
    - contrib/
  - image_templates:
      - "docker.io/aquasec/trivy:{{ .Version }}-arm64"
      - "docker.io/aquasec/trivy:latest-arm64"
      - "ghcr.io/aquasecurity/trivy:{{ .Version }}-arm64"
      - "ghcr.io/aquasecurity/trivy:latest-arm64"
      - "public.ecr.aws/aquasecurity/trivy:latest-arm64"
      - "public.ecr.aws/aquasecurity/trivy:{{ .Version }}-arm64"
    use_buildx: true
    goos: linux
    goarch: arm64
    ids:
      - trivy
    build_flag_templates:
      - "--label=org.label-schema.schema-version=1.0"
      - "--label=org.label-schema.name={{ .ProjectName }}"
      - "--label=org.label-schema.description=A Fast Vulnerability Scanner for Containers"
      - "--label=org.label-schema.vendor=Aqua Security"
      - "--label=org.label-schema.version={{ .Version }}"
      - "--label=org.label-schema.build-date={{ .Date }}"
      - "--label=org.label-schema.vcs=https://github.com/aquasecurity/trivy"
      - "--label=org.label-schema.vcs-ref={{ .FullCommit }}"
      - "--platform=linux/arm64"
    extra_files:
    - contrib/

docker_manifests:
  - name_template: 'aquasec/trivy:{{ .Version }}'
    image_templates:
    - 'aquasec/trivy:{{ .Version }}-amd64'
    - 'aquasec/trivy:{{ .Version }}-arm64'
  - name_template: 'ghcr.io/aquasecurity/trivy:{{ .Version }}'
    image_templates:
    - 'ghcr.io/aquasecurity/trivy:{{ .Version }}-amd64'
    - 'ghcr.io/aquasecurity/trivy:{{ .Version }}-arm64'
  - name_template: 'public.ecr.aws/aquasecurity/trivy:{{ .Version }}'
    image_templates:
    - 'public.ecr.aws/aquasecurity/trivy:{{ .Version }}-amd64'
    - 'public.ecr.aws/aquasecurity/trivy:{{ .Version }}-arm64'
  - name_template: 'aquasec/trivy:latest'
    image_templates:
    - 'aquasec/trivy:{{ .Version }}-amd64'
    - 'aquasec/trivy:{{ .Version }}-arm64'
  - name_template: 'ghcr.io/aquasecurity/trivy:latest'
    image_templates:
    - 'ghcr.io/aquasecurity/trivy:{{ .Version }}-amd64'
    - 'ghcr.io/aquasecurity/trivy:{{ .Version }}-arm64'
  - name_template: 'public.ecr.aws/aquasecurity/trivy:latest'
    image_templates: 
    - 'public.ecr.aws/aquasecurity/trivy:{{ .Version }}-amd64'
    - 'public.ecr.aws/aquasecurity/trivy:{{ .Version }}-arm64'
