version: 2 project_name: golangci-lint builds: - binary: golangci-lint main: ./cmd/golangci-lint/ flags: - -trimpath ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}} env: - CGO_ENABLED=0 goos: - darwin - windows - linux - freebsd - netbsd - illumos goarch: - amd64 - arm64 - arm - 386 - ppc64le - s390x - mips64 - mips64le - riscv64 - loong64 goarm: - 6 - 7 gomips: - hardfloat ignore: - goos: darwin goarch: 386 - goos: freebsd goarch: arm64 archives: - formats: [ 'tar.gz' ] wrap_in_directory: true format_overrides: - goos: windows formats: [ 'zip' ] name_template: '{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' files: - LICENSE - README.md snapshot: version_template: SNAPSHOT-{{ .Commit }} checksum: disable: false name_template: '{{ .ProjectName }}-{{ .Version }}-checksums.txt' changelog: sort: asc filters: exclude: - '(?i)^docs?:' - '(?i)^docs\([^:]+\):' - '(?i)^docs\[[^:]+\]:' - '^tests?:' - '(?i)^dev:' - '(?i)^chore:' - '^build\(deps\): bump .* in /docs \(#\d+\)' - '^build\(deps\): bump .* in /\.github/peril \(#\d+\)' - '^build\(deps\): bump .* in /scripts/gen_github_action_config \(#\d+\)' - Merge pull request - Merge branch release: skip_upload: false github: owner: golangci name: golangci-lint header: | `golangci-lint` is a free and open-source project built by volunteers. If you value it, consider supporting us, the [maintainers](https://opencollective.com/golangci-lint) and [linter authors](https://golangci-lint.run/product/thanks/). We appreciate it! :heart: For key updates, see the [changelog](https://golangci-lint.run/product/changelog/#{{ .Major }}{{ .Minor }}{{ .Patch }}). source: enabled: true name_template: '{{ .ProjectName }}-{{ .Version }}-source' brews: - description: Fast linters runner for Go. homepage: https://golangci.com skip_upload: false repository: owner: golangci name: homebrew-tap commit_author: name: golangci-releaser email: 65486276+golangci-releaser@users.noreply.github.com directory: Formula install: | bin.install "golangci-lint" output = Utils.popen_read("#{bin}/golangci-lint completion bash") (bash_completion/"golangci-lint").write output output = Utils.popen_read("#{bin}/golangci-lint completion zsh") (zsh_completion/"_golangci-lint").write output output = Utils.popen_read("#{bin}/golangci-lint completion fish") (fish_completion/"golangci-lint.fish").write output prefix.install_metafiles test: | system "#{bin}/golangci-lint --version" #chocolateys: # - summary: Fast linters Runner for Go # description: | # {{ .ProjectName }} installer package. # Fast linters Runner for Go. # project_url: https://golangci-lint.run # skip_publish: false # name: golangci-lint # title: Golangci-lint # owners: golangci # authors: golangci # copyright: 2024 GolangCI # url_template: "https://github.com/golangci/golangci-lint/releases/download/{{ .Tag }}/{{ .ArtifactName }}" # icon_url: "https://cdn.rawgit.com/golangci/golangci-lint/HEAD/assets/go.png" # license_url: https://github.com/golangci/golangci-lint/blob/HEAD/LICENSE # require_license_acceptance: false # project_source_url: https://github.com/golangci/golangci-lint # package_source_url: https://github.com/golangci/golangci-lint # docs_url: https://golangci-lint.run # bug_tracker_url: https://github.com/golangci/golangci-lint/issues # tags: "go golang lint linter" # release_notes: "https://github.com/golangci/golangci-lint/releases/tag/v{{ .Version }}" # api_key: "{{ .Env.CHOCOLATEY_API_KEY }}" # source_repo: "https://push.chocolatey.org/" # goamd64: v1 aurs: - description: Fast linters runner for Go. skip_upload: false homepage: https://golangci.com provides: - "golangci-lint-bin" maintainers: - "Fernandez Ludovic " license: GPL-3.0 private_key: "{{ .Env.AUR_KEY }}" git_url: "ssh://aur@aur.archlinux.org/golangci-lint-bin.git" commit_author: name: golangci-releaser email: 65486276+golangci-releaser@users.noreply.github.com package: |- local x86_64=amd64 i686=386 aarch64=arm64 armv6h=armv6 armv7h=armv7 cd "golangci-lint-${pkgver}-linux-${!CARCH}" # bin install -Dm755 "./golangci-lint" "${pkgdir}/usr/bin/golangci-lint" # license install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/golangci-lint/LICENSE" # completions mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" ./golangci-lint completion bash | install -Dm644 /dev/stdin "${pkgdir}/usr/share/bash-completion/completions/golangci-lint" ./golangci-lint completion zsh | install -Dm644 /dev/stdin "${pkgdir}/usr/share/zsh/site-functions/_golangci-lint" ./golangci-lint completion fish | install -Dm644 /dev/stdin "${pkgdir}/usr/share/fish/vendor_completions.d/golangci-lint.fish" aur_sources: - description: Fast linters runner for Go. skip_upload: false homepage: https://golangci.com provides: - "golangci-lint" maintainers: - "Fernandez Ludovic " license: GPL-3.0 private_key: "{{ .Env.AUR_KEY }}" git_url: "ssh://aur@aur.archlinux.org/golangci-lint.git" commit_author: name: golangci-releaser email: 65486276+golangci-releaser@users.noreply.github.com build: |- local _commit _flags _commit=$(bsdcat "${pkgname}_${pkgver}.tar.gz" | git get-tar-commit-id) _flags=( -X=main.version="$pkgver" -X=main.commit="${_commit::7}" -X=main.date="$(date -u -d "@${SOURCE_DATE_EPOCH}" +'%FT%TZ')" -linkmode=external ) export CGO_ENABLED=1 export CGO_CFLAGS="${CFLAGS}" export CGO_CPPFLAGS="$CPPFLAGS" export CGO_CXXFLAGS="$CXXFLAGS" export CGO_LDFLAGS="${LDFLAGS}" export GOFLAGS='-buildmode=pie -trimpath -modcacherw' go build -o "$pkgname" -ldflags="${_flags[*]}" ./cmd/"$pkgname" ./"$pkgname" completion bash > completion.bash ./"$pkgname" completion zsh > completion.zsh ./"$pkgname" completion fish > completion.fish package: |- install -Dm755 "$pkgname" -t "$pkgdir"/usr/bin install -Dm644 completion.bash "$pkgdir"/usr/share/bash-completion/completions/"$pkgname" install -Dm644 completion.zsh "$pkgdir"/usr/share/zsh/site-functions/_"$pkgname" install -Dm644 completion.fish "$pkgdir"/usr/share/fish/vendor_completions.d/"$pkgname".fish snapcrafts: - summary: Fast linters runner for Go. description: | It runs linters in parallel, uses caching, supports YAML configuration, integrates with all major IDEs, and includes over a hundred linters. disable: false publish: true name_template: "{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" grade: stable confinement: classic license: GPL-3.0 base: core22 nfpms: - description: Fast linters Runner for Go homepage: https://golangci-lint.run/ id: golangci-lint-nfpms package_name: golangci-lint file_name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" maintainer: "Golangci-lint Maintainers <65486276+golangci-releaser@users.noreply.github.com>" license: GPLv3 vendor: golangci section: golang formats: - deb - rpm umask: 0o022 overrides: deb: contents: - src: LICENSE dst: /usr/share/doc/golangci-lint/copyright - src: README.md dst: /usr/share/doc/golangci-lint/README.md recommends: - golang-go rpm: contents: - src: LICENSE dst: /usr/share/doc/golangci-lint/LICENSE type: license - src: README.md dst: /usr/share/doc/golangci-lint/README.md type: readme recommends: - /usr/bin/go rpm: group: Development/Tools docker_manifests: # basic - name_template: 'golangci/golangci-lint:latest' image_templates: - 'golangci/golangci-lint:{{ .Tag }}-amd64' - 'golangci/golangci-lint:{{ .Tag }}-arm64' - name_template: 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}' image_templates: - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-amd64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-arm64' - name_template: 'golangci/golangci-lint:{{ .Tag }}' image_templates: - 'golangci/golangci-lint:{{ .Tag }}-amd64' - 'golangci/golangci-lint:{{ .Tag }}-arm64' # alpine - name_template: 'golangci/golangci-lint:latest-alpine' image_templates: - 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64' - 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64' - name_template: 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine' image_templates: - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-amd64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-arm64' - name_template: 'golangci/golangci-lint:{{ .Tag }}-alpine' image_templates: - 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64' - 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64' dockers: - use: buildx skip_push: false goos: linux goarch: amd64 dockerfile: build/buildx.Dockerfile image_templates: - 'golangci/golangci-lint:latest-amd64' - 'golangci/golangci-lint:{{ .Tag }}-amd64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-amd64' build_flag_templates: - '--pull' # https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys - '--label=org.opencontainers.image.title={{.ProjectName}}' - '--label=org.opencontainers.image.description=Fast linters Runner for Go' - '--label=org.opencontainers.image.source={{.GitURL}}' - '--label=org.opencontainers.image.url={{.GitURL}}' - '--label=org.opencontainers.image.documentation=https://golangci-lint.run' - '--label=org.opencontainers.image.created={{.Date}}' - '--label=org.opencontainers.image.revision={{.FullCommit}}' - '--label=org.opencontainers.image.version={{.Version}}' - '--platform=linux/amd64' - use: buildx goos: linux goarch: arm64 dockerfile: build/buildx.Dockerfile image_templates: - 'golangci/golangci-lint:latest-arm64' - 'golangci/golangci-lint:{{ .Tag }}-arm64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-arm64' build_flag_templates: - '--pull' # https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys - '--label=org.opencontainers.image.title={{.ProjectName}}' - '--label=org.opencontainers.image.description=Fast linters Runner for Go' - '--label=org.opencontainers.image.source={{.GitURL}}' - '--label=org.opencontainers.image.url={{.GitURL}}' - '--label=org.opencontainers.image.documentation=https://golangci-lint.run' - '--label=org.opencontainers.image.created={{.Date}}' - '--label=org.opencontainers.image.revision={{.FullCommit}}' - '--label=org.opencontainers.image.version={{.Version}}' - '--platform=linux/arm64' - use: buildx goos: linux goarch: amd64 dockerfile: build/buildx-alpine.Dockerfile image_templates: - 'golangci/golangci-lint:latest-alpine-amd64' - 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-amd64' build_flag_templates: - '--pull' # https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys - '--label=org.opencontainers.image.title={{.ProjectName}}' - '--label=org.opencontainers.image.description=Fast linters Runner for Go' - '--label=org.opencontainers.image.source={{.GitURL}}' - '--label=org.opencontainers.image.url={{.GitURL}}' - '--label=org.opencontainers.image.documentation=https://golangci-lint.run' - '--label=org.opencontainers.image.created={{.Date}}' - '--label=org.opencontainers.image.revision={{.FullCommit}}' - '--label=org.opencontainers.image.version={{.Version}}' - '--platform=linux/amd64' - use: buildx goos: linux goarch: arm64 dockerfile: build/buildx-alpine.Dockerfile image_templates: - 'golangci/golangci-lint:latest-alpine-arm64' - 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64' - 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-arm64' build_flag_templates: - '--pull' # https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys - '--label=org.opencontainers.image.title={{.ProjectName}}' - '--label=org.opencontainers.image.description=Fast linters Runner for Go' - '--label=org.opencontainers.image.source={{.GitURL}}' - '--label=org.opencontainers.image.url={{.GitURL}}' - '--label=org.opencontainers.image.documentation=https://golangci-lint.run' - '--label=org.opencontainers.image.created={{.Date}}' - '--label=org.opencontainers.image.revision={{.FullCommit}}' - '--label=org.opencontainers.image.version={{.Version}}' - '--platform=linux/arm64'