From d4690f36ebf32d1f78bc68f34861917f1e8f9aff Mon Sep 17 00:00:00 2001 From: Andy Grunwald Date: Sat, 29 Mar 2025 14:41:31 +0100 Subject: [PATCH] CI: Add golangci-lint --- .github/workflows/testing.yml | 23 ++++++++++++++++++++++- .golangci.yml | 20 ++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .golangci.yml diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index cb7bcaee..35ef8b85 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -88,4 +88,25 @@ jobs: with: version: "2025.1.1" install-go: false - cache-key: ${{ matrix.go-version }}-${{ matrix.os }} \ No newline at end of file + cache-key: ${{ matrix.go-version }}-${{ matrix.os }} + + golangci-lint: + name: golangci-lint + strategy: + fail-fast: false + matrix: + go-version: [ '1.23', '1.24' ] + os: [ 'windows-latest', 'ubuntu-latest', 'macOS-latest' ] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + - name: Setup Go ${{ matrix.go-version }} + uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + + - name: Run golangci-lint (Go ${{ matrix.go }}) + uses: golangci/golangci-lint-action@v7 + with: + version: v2.0 diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..13600cec --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,20 @@ +version: "2" +linters: + # Default set of linters. + # The value can be: `standard`, `all`, `none`, or `fast`. + default: standard + # Disable specific linter + # https://golangci-lint.run/usage/linters/#disabled-by-default + enable: + - errcheck + - govet + - ineffassign + - unused + - misspell + disable: + - staticcheck +run: + # Timeout for total work, e.g. 30s, 5m, 5m30s. + # If the value is lower or equal to 0, the timeout is disabled. + # Default: 0 (disabled) + timeout: 5m