ekristen/aws-nuke

View on GitHub
.goreleaser.yml

Summary

Maintainability
Test Coverage
version: 2
dist: releases
release:
  github:
    owner: ekristen
    name: aws-nuke
builds:
  - id: default
    env:
      - CGO_ENABLED=0
    goos:
      - linux
      - windows
      - darwin
    goarch:
      - amd64
      - arm64
      - arm
    goarm:
      - "7"
    ignore:
      - goos: windows
        goarch: arm64
      - goos: windows
        goarch: arm
      - goos: darwin
        goarch: arm
    flags:
      - -trimpath
    ldflags:
      - -s
      - -w
      - -extldflags="-static"
      - -X '{{ .ModulePath }}/pkg/common.SUMMARY=v{{ .Version }}'
      - -X '{{ .ModulePath }}/pkg/common.BRANCH={{ .Branch }}'
      - -X '{{ .ModulePath }}/pkg/common.VERSION={{ .Tag }}'
      - -X '{{ .ModulePath }}/pkg/common.COMMIT={{ .Commit }}'
    hooks:
      post:
        - cmd: |
            {{- if eq .Os "darwin" -}} 
            quill sign-and-notarize "{{ .Path }}" --dry-run={{ .IsSnapshot }} --ad-hoc={{ .IsSnapshot }} -vv
            {{- else -}}
            true
            {{- end -}}
          env:
            - QUILL_LOG_FILE=/tmp/quill-{{ .Target }}.log
archives:
  - id: default
    builds:
      - default
    name_template: "{{ .ProjectName }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ .Arm }}"
    format_overrides:
      - goos: windows
        format: zip
dockers:
  - use: buildx
    goos: linux
    goarch: amd64
    dockerfile: Dockerfile
    image_templates:
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-amd64
    build_flag_templates:
      - "--target=goreleaser"
      - "--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.source=https://github.com/ekristen/aws-nuke"
      - "--platform=linux/amd64"
  - use: buildx
    goos: linux
    goarch: arm64
    dockerfile: Dockerfile
    image_templates:
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-arm64
    build_flag_templates:
      - "--platform=linux/arm64"
      - "--target=goreleaser"
      - "--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.source={{replace (replace (replace .GitURL "git@" "https://") ".git" "") "github.com:" "github.com/"}}'
  - use: buildx
    goos: linux
    goarch: arm
    goarm: "7"
    dockerfile: Dockerfile
    image_templates:
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-arm32v7
    build_flag_templates:
      - "--platform=linux/arm/v7"
      - "--target=goreleaser"
      - "--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.source={{replace (replace (replace .GitURL "git@" "https://") ".git" "") "github.com:" "github.com/"}}'
docker_manifests:
  - use: docker
    name_template: ghcr.io/ekristen/aws-nuke:v{{ .Version }}
    image_templates:
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-amd64
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-arm64
      - ghcr.io/ekristen/aws-nuke:v{{ .Version }}-arm32v7
signs:
  - ids:
      - default
    cmd: cosign
    signature: "${artifact}.sig"
    certificate: "${artifact}.pem"
    args: ["sign-blob", "--yes", "--oidc-provider=github", "--oidc-issuer=https://token.actions.githubusercontent.com", "--output-certificate=${certificate}", "--output-signature=${signature}", "${artifact}"]
    artifacts: all
docker_signs:
  - ids:
      - default
    artifacts: all
    cmd: cosign
    args: ["sign", "--yes", "--oidc-provider=github", "--oidc-issuer=https://token.actions.githubusercontent.com", "--output-certificate=${certificate}", "--output-signature=${signature}", "${artifact}"]
checksum:
  name_template: "checksums.txt"
snapshot:
  name_template: '{{ trimprefix .Summary "v" }}'
changelog:
  disable: true