project_name: dagger

before:
  hooks:
    - go mod download

builds:
  - env:
      - CGO_ENABLED=0
    main: ./cmd/dagger
    binary: dagger
    ldflags:
      - -s -w
      - -X go.dagger.io/dagger/version.Version={{.Version}}
      - -X go.dagger.io/dagger/version.Revision={{.ShortCommit}}
    goos:
      - linux
      - windows
      - darwin
    goarch:
      - amd64
      - arm64

archives:
  - name_template: "{{ .ProjectName }}_{{ .Tag }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}"
    replacements:
    files:
      - LICENSE
      - examples/**/*
    format_overrides:
      - goos: windows
        format: zip

checksum:
  name_template: "checksums.txt"

snapshot:
  name_template: "{{ .Tag }}-next"

changelog:
  sort: asc
  filters:
    exclude:
      - "^docs:"
      - "^doc:"
      - "^test:"
      - "^tests:"
      - "^Merge pull request"

brews:
  - tap:
      owner: dagger
      name: homebrew-tap
    commit_author:
      name: dagger-bot
      email: noreply@dagger.io
    url_template: "https://dl.dagger.io/dagger/releases/{{ .Version }}/{{ .ArtifactName }}"
    homepage: "https://github.com/dagger/dagger"
    description: "Dagger is a programmable deployment system."
    test: |
      system "#{bin}/dagger version"

blobs:
  - provider: s3
    region: us-east-1
    bucket: dagger-io
    folder: "dagger/releases/{{ .Version }}"

publishers:
  - name: publish-latest-version
    cmd: sh -c "echo {{ .Version }} | aws s3 cp - s3://dagger-io/dagger/latest_version"
    env:
      - PATH={{ .Env.PATH }}
      - AWS_EC2_METADATA_DISABLED=true
      - AWS_ACCESS_KEY_ID={{ .Env.AWS_ACCESS_KEY_ID }}
      - AWS_SECRET_ACCESS_KEY={{ .Env.AWS_SECRET_ACCESS_KEY }}
      - AWS_REGION={{ .Env.AWS_REGION }}
  - name: publish-latest
    cmd: sh -c "echo {{ .Version }} | aws s3 cp - s3://dagger-io/dagger/versions/latest"
    env:
      - PATH={{ .Env.PATH }}
      - AWS_EC2_METADATA_DISABLED=true
      - AWS_ACCESS_KEY_ID={{ .Env.AWS_ACCESS_KEY_ID }}
      - AWS_SECRET_ACCESS_KEY={{ .Env.AWS_SECRET_ACCESS_KEY }}
      - AWS_REGION={{ .Env.AWS_REGION }}
  - name: publish-latest-major-minor
    cmd: sh -c "echo {{ .Version }} | aws s3 cp - s3://dagger-io/dagger/versions/{{ .Major }}.{{ .Minor }}"
    env:
      - PATH={{ .Env.PATH }}
      - AWS_EC2_METADATA_DISABLED=true
      - AWS_ACCESS_KEY_ID={{ .Env.AWS_ACCESS_KEY_ID }}
      - AWS_SECRET_ACCESS_KEY={{ .Env.AWS_SECRET_ACCESS_KEY }}
      - AWS_REGION={{ .Env.AWS_REGION }}
