-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move linting to a Github action for better integration (#30985)
Now the linting issues will be displayed in the PR diff on Github and one can see the issues inline during the review.
- Loading branch information
Showing
3 changed files
with
62 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: golangci-lint | ||
on: | ||
#push: | ||
# branches: | ||
# - main | ||
# - 8.* | ||
# - 7.17 | ||
pull_request: | ||
permissions: | ||
contents: read | ||
# Optional: allow read access to pull request. Use with `only-new-issues` option. | ||
pull-requests: read | ||
jobs: | ||
golangci: | ||
strategy: | ||
matrix: | ||
include: | ||
- GOOS: windows | ||
- GOOS: linux | ||
- GOOS: darwin | ||
name: lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Echo details | ||
env: | ||
GOOS: ${{ matrix.GOOS }} | ||
run: echo Go GOOS=$GOOS | ||
|
||
- uses: actions/checkout@v2 | ||
|
||
# Uses Go version from the repository. | ||
- name: Read .go-version file | ||
id: goversion | ||
run: echo "::set-output name=version::$(cat .go-version)" | ||
|
||
- uses: actions/setup-go@v2 | ||
with: | ||
go-version: "${{ steps.goversion.outputs.version }}" | ||
|
||
- name: golangci-lint | ||
env: | ||
GOOS: ${{ matrix.GOOS }} | ||
uses: golangci/golangci-lint-action@v2 | ||
with: | ||
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version | ||
version: v1.44.2 | ||
|
||
# Give the job more time to execute. | ||
# Regarding `--whole-files`, the linter is supposed to support linting of changed a patch only but, | ||
# for some reason, it's very unreliable this way - sometimes it does not report any or some | ||
# issues without linting the whole files, so we have to use `--whole-files` | ||
# which can lead to some frustration from developers who would like to | ||
# fix a single line in an existing codebase and the linter would force them | ||
# into fixing all linting issues in the whole file instead | ||
args: --timeout=30m --whole-files | ||
|
||
# Optional: if set to true then the action will use pre-installed Go. | ||
skip-go-installation: true | ||
|
||
# Optional: show only new issues if it's a pull request. The default value is `false`. | ||
only-new-issues: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters