diff --git a/.github/workflows/test_and_lint.yml b/.github/workflows/test_and_lint.yml new file mode 100644 index 00000000..6a0f8d16 --- /dev/null +++ b/.github/workflows/test_and_lint.yml @@ -0,0 +1,60 @@ +on: + push: + paths: + - '**.go' + - 'go.mod' + pull_request: + paths: + - '**.go' + - 'go.mod' + +name: Test & Lint + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Code + uses: actions/checkout@v4 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: '1.19' + cache: false + - run: go get + - run: go generate ./... + - run: go test -v -race ./... + + lint: + runs-on: ubuntu-latest + steps: + - name: Code + uses: actions/checkout@v4 + - name: Install Go + uses: actions/setup-go@v5 + with: + cache: false + go-version: '1.19' + - run: go get + - run: go generate ./... + - name: Go vet + run: go vet ./... + + - name: GolangCI-Lint + uses: golangci/golangci-lint-action@v3 + if: github.event.name == 'pull_request' + with: + version: 'v1.55.2' + args: '--timeout 9999s' + only-new-issues: true + skip-pkg-cache: true + skip-build-cache: true + + - name: GolangCI-Lint + uses: golangci/golangci-lint-action@v3 + if: github.event.name != 'pull_request' + with: + version: 'v1.55.2' + args: '--timeout 9999s' + skip-pkg-cache: true + skip-build-cache: true