| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- name: Lint
- on:
- push:
- branches: [master]
- pull_request:
- branches: [master]
- types: [opened, synchronize, reopened]
- jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go 1.x
- uses: actions/setup-go@v2
- with:
- go-version: ^1.14
- - name: Checkout codebase
- uses: actions/checkout@v2
- - name: Cache go module
- uses: actions/cache@v2
- with:
- path: ~/go/pkg/mod
- key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- restore-keys: ${{ runner.os }}-go-
- - name: Lint *.go files
- if: ${{ always() }}
- run: |
- go vet $(go list ./... | grep -v /external/)
- if [[ $? != 0 ]]; then
- exit 1
- fi
- - name: Lint other files
- if: ${{ always() }}
- uses: github/super-linter@v3.9.4
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- VALIDATE_ALL_CODEBASE: false
- VALIDATE_BASH: false
- VALIDATE_DOCKERFILE: false
- VALIDATE_DOCKERFILE_HADOLINT: false
- VALIDATE_GO: false
- VALIDATE_JSON: false
- VALIDATE_MD: false
- VALIDATE_PROTOBUF: false
- - name: Show if need to format code
- if: ${{ always() }}
- run: |
- filesNeedToFormat=$(go fmt ./...)
- if [[ $filesNeedToFormat ]]; then
- echo -e "\033[0;36m[Error] The following Go files need to be formatted:\033[0m"
- echo -e "\033[0;31m$filesNeedToFormat\033[0m"
- exit 1
- fi
- - name: golangci-lint
- if: ${{ always() }}
- uses: golangci/golangci-lint-action@v2
- with:
- version: v1.31
- args: --config=.github/linters/.golangci.yml
|