name: lint on: push: branches: [ master ] paths: - '.github/workflows/lint.yml' - '.golangci.yml' - '**.go' - 'go.*' pull_request: branches: [ master ] paths: - '.github/workflows/lint.yml' - '.golangci.yml' - '**.go' - 'go.*' permissions: contents: read jobs: lint: name: golang runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.20" - id: go-cache-paths run: | echo "go-build=$(go env GOCACHE)" >> $GITHUB_OUTPUT echo "go-mod=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT echo "go-version=$(go version | cut -d ' ' -f 3)" >> $GITHUB_OUTPUT - name: Go build cache uses: actions/cache@v4 with: path: ${{ steps.go-cache-paths.outputs.go-build }} key: ${{ runner.os }}-${{ steps.go-cache-paths.outputs.go-version }}-build-${{ hashFiles('**/go.mod', '**/go.sum') }} - name: Go mod cache uses: actions/cache@v4 with: path: ${{ steps.go-cache-paths.outputs.go-mod }} key: ${{ runner.os }}-${{ steps.go-cache-paths.outputs.go-version }}-mod-${{ hashFiles('**/go.mod', '**/go.sum') }} - name: Install dependencies run: | sudo apt -y update && sudo apt -y install protobuf-compiler make common - name: lint uses: golangci/golangci-lint-action@v3.7.0 with: version: latest args: --timeout=2m0s