diff --git a/.github/workflows/golint.yml b/.github/workflows/golint.yml new file mode 100644 index 00000000..d7e4fdbe --- /dev/null +++ b/.github/workflows/golint.yml @@ -0,0 +1,58 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +name: golangci-lint + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + changes: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + golangci-lint: + name: lint + needs: changes + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Go Env + uses: actions/setup-go@v3 + with: + go-version: '1.19' + - name: Download golangci-lint + run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.49.0 + - name: Lint ShardingSphere-Operator + run: | + cd shardingsphere-operator/ + $(go env GOPATH)/bin/golangci-lint run -v --timeout 300s ./... + - name: Lint Pitr Cli + run: | + cd pitr/cli + $(go env GOPATH)/bin/golangci-lint run -v --timeout 300s ./... + - name: Lint Pitr Agent + run: | + cd pitr/gent + $(go env GOPATH)/bin/golangci-lint run -v --timeout 300s ./...