From 2be479630f5f7341aab04323864c541f37ae587d Mon Sep 17 00:00:00 2001 From: lauener Date: Tue, 27 Feb 2024 08:02:13 +0100 Subject: [PATCH] Setup golangci action --- .github/workflows/go_lint.yml | 32 ----------------- .github/workflows/golangci-lint.yml | 54 +++++++++++++++++++++++++++++ Makefile | 2 -- 3 files changed, 54 insertions(+), 34 deletions(-) delete mode 100644 .github/workflows/go_lint.yml create mode 100644 .github/workflows/golangci-lint.yml diff --git a/.github/workflows/go_lint.yml b/.github/workflows/go_lint.yml deleted file mode 100644 index d9d9d5128..000000000 --- a/.github/workflows/go_lint.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Go lint - -on: - push: - branches: [ master ] - pull_request_target: - types: [opened, synchronize, reopened] - -jobs: - - lint: - runs-on: ubuntu-latest - steps: - - name: Set up Go ^1.20 - uses: actions/setup-go@v3 - with: - go-version: ^1.20 - - - name: Check out code into the Go module directory - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - - - name: Tidy - run: go mod tidy && [ -z "$(git status -s)" ] - - - name: Lint - run: make lint - - - name: Vet - run: make vet diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml new file mode 100644 index 000000000..a18fe8de3 --- /dev/null +++ b/.github/workflows/golangci-lint.yml @@ -0,0 +1,54 @@ +name: Lint +on: + push: + branches: [ master ] + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read + # Optional: allow read access to pull request. Use with `only-new-issues` option. + # pull-requests: read + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: '1.20' + cache: false + - name: golangci-lint + uses: golangci/golangci-lint-action@v4 + with: + # Require: The version of golangci-lint to use. + # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. + # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. + version: v1.56.2 + + # Optional: working directory, useful for monorepos + # working-directory: somedir + + # Optional: golangci-lint command line arguments. + # + # Note: By default, the `.golangci.yml` file should be at the root of the repository. + # The location of the configuration file can be changed by using `--config=` + # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 + + # Optional: show only new issues if it's a pull request. The default value is `false`. + # only-new-issues: true + + # Optional: if set to true, then all caching functionality will be completely disabled, + # takes precedence over all other caching options. + # skip-cache: true + + # Optional: if set to true, then the action won't cache or restore ~/go/pkg. + # skip-pkg-cache: true + + # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build. + # skip-build-cache: true + + # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'. + # install-mode: "goinstall" \ No newline at end of file diff --git a/Makefile b/Makefile index 4de1ad849..5f81fb9ff 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,6 @@ generate: tidy # Coding style static check. lint: tidy - @go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.56.2 - @go mod tidy golangci-lint run vet: tidy