Skip to content

Commit

Permalink
chore: add chocolatey (#4615)
Browse files Browse the repository at this point in the history
  • Loading branch information
ldez committed Apr 6, 2024
1 parent 1f46a11 commit 9d91e4a
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 6 deletions.
22 changes: 17 additions & 5 deletions .github/workflows/tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,30 @@ on:
jobs:
release:
runs-on: ubuntu-latest
env:
# https://github.com/actions/setup-go#supported-version-syntax
# ex:
# - 1.18beta1 -> 1.18.0-beta.1
# - 1.18rc1 -> 1.18.0-rc.1
GO_VERSION: '1.22'
CHOCOLATEY_VERSION: 2.2.0
steps:
- uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
# https://github.com/actions/setup-go#supported-version-syntax
# ex:
# - 1.18beta1 -> 1.18.0-beta.1
# - 1.18rc1 -> 1.18.0-rc.1
go-version: '1.22'
go-version: ${{ env.GO_VERSION }}
- name: Unshallow
run: git fetch --prune --unshallow

- name: Install chocolatey
run: |
mkdir -p /opt/chocolatey
wget -q -O - "https://github.com/chocolatey/choco/releases/download/${CHOCOLATEY_VERSION}/chocolatey.v${CHOCOLATEY_VERSION}.tar.gz" | tar -xz -C "/opt/chocolatey"
echo '#!/bin/bash' >> /usr/local/bin/choco
echo 'mono /opt/chocolatey/choco.exe $@' >> /usr/local/bin/choco
chmod +x /usr/local/bin/choco
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

Expand All @@ -35,4 +46,5 @@ jobs:
version: latest
args: release --clean --timeout=90m
env:
CHOCOLATEY_API_KEY: ${{ secrets.CHOCOLATEY_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GOLANGCI_LINT_TOKEN }}
26 changes: 26 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,32 @@ brews:
test: |
system "#{bin}/golangci-lint --version"
chocolateys:
- name: golangci-lint
owners: golangci
title: Golangci-lint
authors: golangci
project_url: https://golangci-lint.run
url_template: "https://github.com/golangci/golangci-lint/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
icon_url: "https://cdn.rawgit.com/golangci/golangci-lint/master/assets/go.png"
copyright: 2024 GolangCI
license_url: https://github.com/golangci/golangci-lint/blob/master/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"
summary: Fast linters Runner for Go
description: |
{{ .ProjectName }} installer package.
Fast linters Runner for Go .
release_notes: "https://github.com/golangci/golangci-lint/releases/tag/v{{ .Version }}"
api_key: "{{ .Env.CHOCOLATEY_API_KEY }}"
source_repo: "https://push.chocolatey.org/"
skip_publish: false
goamd64: v1

nfpms:
-
id: golangci-lint-nfpms
Expand Down
10 changes: 9 additions & 1 deletion docs/src/docs/welcome/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Most installations of `golangci-lint` are performed for CI.
### GitHub Actions

We recommend using [our GitHub Action](https://github.com/golangci/golangci-lint-action) for running `golangci-lint` in CI for GitHub projects.
It's [fast and uses smart caching](https://github.com/golangci/golangci-lint-action#performance) inside
It's [fast and uses smart caching](https://github.com/golangci/golangci-lint-action#performance) inside,
and it can be much faster than the simple binary installation.

Also, the action creates GitHub annotations for found issues: you don't need to dig into build log to see found by `golangci-lint` issues:
Expand Down Expand Up @@ -99,6 +99,14 @@ The macports installation mode is community driven, and not officially maintaine
sudo port install golangci-lint
```

### Windows

You can install a binary on Windows using [chocolatey](https://community.chocolatey.org/packages/golangci-lint):

```sh
choco install golangci-lint
```

### Install from Source

Note: such `go install`/`go get` installation aren't guaranteed to work. We recommend using binary installation.
Expand Down

0 comments on commit 9d91e4a

Please sign in to comment.