github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/.goreleaser.yml (about)

     1  env:
     2    - GO111MODULE=on
     3  
     4  before:
     5    hooks:
     6      - go mod tidy
     7      - ./scripts/completions.sh
     8  
     9  snapshot:
    10    name_template: '{{ incpatch .Version }}-next'
    11  
    12  gomod:
    13    proxy: true
    14  
    15  builds:
    16  - env:
    17      - CGO_ENABLED=0
    18    goos:
    19      - linux
    20      - darwin
    21      - windows
    22    goarch:
    23      - 386
    24      - amd64
    25      - arm
    26      - arm64
    27    mod_timestamp: '{{ .CommitTimestamp }}'
    28    flags:
    29      - -trimpath
    30    ldflags:
    31      - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser
    32  
    33  checksum:
    34    name_template: 'checksums.txt'
    35  
    36  changelog:
    37    sort: asc
    38    filters:
    39      exclude:
    40      - '^docs:'
    41      - '^test:'
    42      - Merge pull request
    43      - Merge branch
    44      - go mod tidy
    45  
    46  dockers:
    47  - image_templates:
    48    - 'goreleaser/goreleaser:{{ .Tag }}-amd64'
    49    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
    50    dockerfile: Dockerfile
    51    use: buildx
    52    build_flag_templates:
    53    - "--pull"
    54    - "--label=org.opencontainers.image.created={{.Date}}"
    55    - "--label=org.opencontainers.image.name={{.ProjectName}}"
    56    - "--label=org.opencontainers.image.revision={{.FullCommit}}"
    57    - "--label=org.opencontainers.image.version={{.Version}}"
    58    - "--label=org.opencontainers.image.source={{.GitURL}}"
    59    - "--platform=linux/amd64"
    60    extra_files:
    61    - scripts/entrypoint.sh
    62  - image_templates:
    63    - 'goreleaser/goreleaser:{{ .Tag }}-arm64'
    64    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
    65    dockerfile: Dockerfile
    66    use: buildx
    67    build_flag_templates:
    68    - "--pull"
    69    - "--label=org.opencontainers.image.created={{.Date}}"
    70    - "--label=org.opencontainers.image.name={{.ProjectName}}"
    71    - "--label=org.opencontainers.image.revision={{.FullCommit}}"
    72    - "--label=org.opencontainers.image.version={{.Version}}"
    73    - "--label=org.opencontainers.image.source={{.GitURL}}"
    74    - "--platform=linux/arm64"
    75    goarch: arm64
    76    extra_files:
    77    - scripts/entrypoint.sh
    78  
    79  docker_manifests:
    80  - name_template: 'goreleaser/goreleaser:{{ .Tag }}'
    81    image_templates:
    82    - 'goreleaser/goreleaser:{{ .Tag }}-amd64'
    83    - 'goreleaser/goreleaser:{{ .Tag }}-arm64'
    84  - name_template: 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}'
    85    image_templates:
    86    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
    87    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
    88  - name_template: 'goreleaser/goreleaser:latest'
    89    image_templates:
    90    - 'goreleaser/goreleaser:{{ .Tag }}-amd64'
    91    - 'goreleaser/goreleaser:{{ .Tag }}-arm64'
    92  - name_template: 'ghcr.io/goreleaser/goreleaser:latest'
    93    image_templates:
    94    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
    95    - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
    96  
    97  archives:
    98    - name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
    99      replacements:
   100        darwin: Darwin
   101        linux: Linux
   102        windows: Windows
   103        386: i386
   104        amd64: x86_64
   105      format_overrides:
   106      - goos: windows
   107        format: zip
   108      files:
   109        - README.md
   110        - LICENSE.md
   111        - completions/*
   112  
   113  brews:
   114    - tap:
   115        owner: goreleaser
   116        name: homebrew-tap
   117      folder: Formula
   118      homepage:  https://goreleaser.com
   119      description: Deliver Go binaries as fast and easily as possible
   120      license: MIT
   121      test: |
   122        system "#{bin}/goreleaser -v"
   123      dependencies:
   124      - name: go
   125        type: optional
   126      - name: git
   127      install: |-
   128        bin.install "goreleaser"
   129        bash_completion.install "completions/goreleaser.bash" => "goreleaser"
   130        zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser"
   131        fish_completion.install "completions/goreleaser.fish"
   132  
   133  scoop:
   134    bucket:
   135      owner: goreleaser
   136      name: scoop-bucket
   137    homepage:  https://goreleaser.com
   138    description: Deliver Go binaries as fast and easily as possible
   139    license: MIT
   140  
   141  nfpms:
   142    - file_name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
   143      id: packages
   144      homepage:  https://goreleaser.com
   145      description: Deliver Go binaries as fast and easily as possible
   146      maintainer: Carlos Alexandro Becker <root@carlosbecker.com>
   147      license: MIT
   148      vendor: GoReleaser
   149      contents:
   150        - src: ./completions/goreleaser.bash
   151          dst: /etc/bash_completion.d/goreleaser
   152        - src: ./completions/goreleaser.fish
   153          dst: /usr/share/fish/completions/goreleaser.fish
   154        - src: ./completions/goreleaser.zsh
   155          dst: /usr/local/share/zsh/site-functions/_goreleaser
   156      formats:
   157      - apk
   158      - deb
   159      - rpm
   160      dependencies:
   161      - git
   162      recommends:
   163      - golang
   164  
   165  snapcrafts:
   166    - name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
   167      summary: Deliver Go binaries as fast and easily as possible
   168      description: |
   169        GoReleaser builds Go binaries for several platforms, creates a GitHub
   170        release and then pushes a Homebrew formula to a repository. All that
   171        wrapped in your favorite CI.
   172      grade: stable
   173      confinement: classic
   174      publish: true
   175  
   176  signs:
   177  - cmd: cosign
   178    stdin: '{{ .Env.COSIGN_PWD }}'
   179    args: ["sign-blob", "-key=cosign.key", "-output=${signature}", "${artifact}"]
   180    artifacts: checksum
   181  
   182  docker_signs:
   183  - artifacts: manifests
   184    stdin: '{{ .Env.COSIGN_PWD }}'
   185  
   186  publishers:
   187    - name: fury.io
   188      ids:
   189      - packages
   190      env:
   191      - 'FURY_TOKEN={{ .Env.FURY_TOKEN }}'
   192      cmd: ./scripts/fury-upload.sh {{ .ArtifactName }}
   193  
   194  release:
   195    discussion_category_name: Announcements
   196    footer: |
   197      ## What to do next?
   198  
   199      - Check out the [GoReleaser Pro](https://goreleaser.com/pro) distribution;
   200      - Join our [Discord server](https://discord.gg/RGEBtg8vQ6);
   201      - Read the [documentation](https://goreleaser.com/intro/).
   202  
   203  announce:
   204    twitter:
   205      enabled: true
   206      message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'
   207  
   208    discord:
   209      enabled: true
   210      message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'