Skip to content

Commit 6680604

Browse files
committed
ci: running golangci-lint on windows
In addition to the existing linux run. Using GOOS and GOARCH with golangci-lint can have some limitations, if we are running into troubles [^1], we can use native runners to run the linter as well. [^1]: golangci/golangci-lint-action#742 (comment) It found the following issues: 177 issues: * err113: 8 * errname: 2 * errorlint: 9 * goheader: 7 * intrange: 1 * misspell: 3 * perfsprint: 14 * revive: 78 * staticcheck: 26 * unused: 29 With detail: pkg/bpf/ringbuf_windows.go:205:47 err113 do not compare errors directly "err == io_pending_err", use "errors.Is(err, io_pending_err)" instead pkg/bpf/ringbuf_windows.go:225:5 err113 do not compare errors directly "err != error(syscall.Errno(0))", use "!errors.Is(err, error())" instead pkg/bpf/ringbuf_windows.go:237:6 err113 do not compare errors directly "err != success_err", use "!errors.Is(err, success_err)" instead pkg/bpf/ringbuf_windows.go:240:6 err113 do not compare errors directly "err != success_err", use "!errors.Is(err, success_err)" instead pkg/bpf/ringbuf_windows.go:251:6 err113 do not compare errors directly "err != success_err", use "!errors.Is(err, success_err)" instead pkg/bpf/ringbuf_windows.go:310:5 err113 do not compare errors directly "err == error(syscall.Errno(997))", use "errors.Is(err, error())" instead pkg/bpf/ringbuf_windows.go:318:5 err113 do not compare errors directly "err != success_err", use "!errors.Is(err, success_err)" instead pkg/reader/proc/proc_windows.go:74:6 err113 do not compare errors directly "e != syscall.ERROR_INSUFFICIENT_BUFFER", use "!errors.Is(e, syscall.ERROR_INSUFFICIENT_BUFFER)" instead pkg/bpf/bpffs_windows.go:11:2 errname the sentinel error name `notSupportedWinErr` should conform to the `errXxx` format pkg/sensors/program/loader_windows.go:21:2 errname the sentinel error name `notSupportedWinErr` should conform to the `errXxx` format pkg/bpf/perf_windows.go:21:89 errorlint non-wrapping format verb for fmt.Errorf. Use `%w` to format errors pkg/bpf/ringbuf_windows.go:205:47 errorlint comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:225:5 errorlint comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:237:6 errorlint comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:240:6 errorlint comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:251:6 errorlint comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:310:5 errorlint comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error pkg/bpf/ringbuf_windows.go:318:5 errorlint comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error pkg/observer/observer_windows.go:227:65 errorlint non-wrapping format verb for fmt.Errorf. Use `%w` to format errors cmd/tetra/tracingpolicy/generate/all_syscalls_windows.go:1:1 goheader Missed header for check pkg/constants/constants_windows.go:1:1 goheader Missed header for check pkg/errmetrics/err_msg_windows.go:1:1 goheader Missed header for check pkg/errmetrics/err_msg_windows_test.go:1:1 goheader Missed header for check pkg/ktime/ktime_test_windows.go:1:1 goheader Missed header for check pkg/reader/proc/proc_windows_test.go:1:1 goheader Missed header for check pkg/sensors/tracing/loader_windows.go:1:1 goheader Missed header for check pkg/sensors/exec/procevents/proc_reader_windows.go:130:2 intrange for loop can be changed to use an integer range (Go 1.22+) pkg/observer/observer_windows.go:137:2 misspell `Curent` is a misspelling of `Current` pkg/observer/observer_windows.go:168:12 misspell `Curent` is a misspelling of `Current` pkg/observer/observer_windows.go:169:12 misspell `Curent` is a misspelling of `Current` pkg/bpf/ringbuf_windows.go:193:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/bpf/ringbuf_windows.go:268:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/bpf/ringbuf_windows.go:303:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/observer/observer_windows.go:219:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/reader/proc/proc_windows.go:98:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/reader/proc/proc_windows.go:137:14 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/exec_windows.go:55:10 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/procevents/proc_reader_windows.go:164:12 perfsprint integer-format: fmt.Sprint can be replaced with faster strconv.FormatUint pkg/sensors/exec/procevents/proc_reader_windows.go:204:36 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/procevents/proc_reader_windows.go:209:36 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/procevents/proc_reader_windows.go:222:36 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/procevents/proc_reader_windows.go:227:36 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/sensors/exec/procevents/proc_reader_windows.go:342:13 perfsprint error-format: fmt.Errorf can be replaced with errors.New pkg/testutils/sensors/testrun_windows.go:65:16 perfsprint string-format: fmt.Sprintf can be replaced with string concatenation cmd/tetragon/main_windows.go:17:20 revive unused-parameter: parameter 'lib' seems to be unused, consider removing or renaming it as _ cmd/tetragon/main_windows.go:17:25 revive unused-parameter: parameter 'btf' seems to be unused, consider removing or renaming it as _ pkg/bpf/bpffs_windows.go:11:2 revive error-naming: error var notSupportedWinErr should have name of the form errFoo pkg/bpf/bpffs_windows.go:14:21 revive unused-parameter: parameter 'bpfRoot' seems to be unused, consider removing or renaming it as _ pkg/bpf/ringbuf_windows.go:151:18 revive var-declaration: should omit type uint32 from declaration of var requestSize; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:152:17 revive var-declaration: should omit type unsafe.Pointer from declaration of var requestPtr; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:153:16 revive var-declaration: should omit type uint32 from declaration of var replySize; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:154:15 revive var-declaration: should omit type unsafe.Pointer from declaration of var replyPtr; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:155:24 revive var-declaration: should omit type bool from declaration of var variableReplySize; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:157:14 revive var-declaration: should omit type uintptr from declaration of var hDevice; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:259:87 revive unexported-return: exported func EbpfRingBufferNextRecord returns unexported type *bpf.ebpf_ring_buffer_record, which can be annoying to use pkg/bpf/ringbuf_windows.go:327:25 revive var-declaration: should omit type *_ebpf_map_async_query_result from declaration of var async_query_result; it will be inferred from the right-hand side pkg/cgroups/cgroups_windows.go:11:23 revive unused-parameter: parameter 'magic' seems to be unused, consider removing or renaming it as _ pkg/cgroups/cgroups_windows.go:15:26 revive unused-parameter: parameter 'cgroupPath' seems to be unused, consider removing or renaming it as _ pkg/cgroups/cgroups_windows.go:59:22 revive unused-parameter: parameter 'pid' seems to be unused, consider removing or renaming it as _ pkg/cgroups/cgroups_windows.go:63:31 revive unused-parameter: parameter 'p' seems to be unused, consider removing or renaming it as _ pkg/encoder/raw_syscall_enter_windows.go:8:22 revive unused-parameter: parameter 'tp' seems to be unused, consider removing or renaming it as _ pkg/errmetrics/err_msg_windows.go:12:2 revive redefines-builtin-id: redefinition of the built-in type error pkg/metrics/syscallmetrics/raw_syscall_name_windows.go:10:21 revive unused-parameter: parameter 'tp' seems to be unused, consider removing or renaming it as _ pkg/metricsconfig/healthmetrics_windows.go:8:30 revive unused-parameter: parameter 'group' seems to be unused, consider removing or renaming it as _ pkg/process/process_id_windows.go:11:31 revive unused-parameter: parameter 'ktime' seems to be unused, consider removing or renaming it as _ pkg/procsyms/procsyms_windows.go:11:18 revive unused-parameter: parameter 'pid' seems to be unused, consider removing or renaming it as _ pkg/procsyms/procsyms_windows.go:11:27 revive unused-parameter: parameter 'addr' seems to be unused, consider removing or renaming it as _ pkg/reader/namespace/namespace_windows.go:22:27 revive unused-parameter: parameter 'ns' seems to be unused, consider removing or renaming it as _ pkg/reader/namespace/namespace_windows.go:75:23 revive unused-parameter: parameter 'ns' seems to be unused, consider removing or renaming it as _ pkg/reader/proc/proc_windows.go:136:25 revive unused-parameter: parameter 'file' seems to be unused, consider removing or renaming it as _ pkg/reader/proc/proc_windows.go:146:17 revive unused-parameter: parameter 'procfs' seems to be unused, consider removing or renaming it as _ pkg/sensors/exec/procevents/proc_reader_windows.go:183:27 revive unused-parameter: parameter 'procs' seems to be unused, consider removing or renaming it as _ pkg/sensors/exec/procevents/proc_reader_windows.go:190:21 revive unused-parameter: parameter 'procs' seems to be unused, consider removing or renaming it as _ pkg/sensors/exec/procevents/proc_reader_windows.go:257:10 revive indent-error-flow: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) pkg/sensors/exec/procevents/proc_reader_windows.go:273:10 revive indent-error-flow: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) pkg/sensors/exec/procevents/proc_reader_windows.go:379:52 revive unexported-return: exported func NewProcess returns unexported type procevents.procs, which can be annoying to use pkg/sensors/exec/procevents/proc_reader_windows.go:508:23 revive unused-parameter: parameter 'procPath' seems to be unused, consider removing or renaming it as _ pkg/sensors/exec/procevents/proc_windows.go:6:20 revive unused-parameter: parameter 'pid' seems to be unused, consider removing or renaming it as _ pkg/sensors/load_windows.go:37:78 revive unused-parameter: parameter 'version' seems to be unused, consider removing or renaming it as _ pkg/sensors/load_windows.go:59:30 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/load_windows.go:59:45 revive unused-parameter: parameter 'loadedMaps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:21:2 revive error-naming: error var notSupportedWinErr should have name of the form errFoo pkg/sensors/program/loader_windows.go:31:2 revive unused-parameter: parameter 'prog' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:31:22 revive unused-parameter: parameter 'spec' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:36:25 revive unused-parameter: parameter 'targetFD' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:36:39 revive unused-parameter: parameter 'flags' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:40:20 revive unused-parameter: parameter 'load' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:40:55 revive unused-parameter: parameter 'spec' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:41:2 revive unused-parameter: parameter 'symbol' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:41:17 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:41:32 revive unused-parameter: parameter 'extra' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:67:14 revive unused-parameter: parameter 'coll' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:67:37 revive unused-parameter: parameter 'collSpec' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:74:55 revive unused-parameter: parameter 'maps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:81:28 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:81:43 revive unused-parameter: parameter 'load' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:81:58 revive unused-parameter: parameter 'maps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:81:71 revive unused-parameter: parameter 'verbose' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:85:34 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:85:49 revive unused-parameter: parameter 'load' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:85:64 revive unused-parameter: parameter 'syms' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:85:79 revive unused-parameter: parameter 'maps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:85:92 revive unused-parameter: parameter 'verbose' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:89:29 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:89:44 revive unused-parameter: parameter 'load' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:89:59 revive unused-parameter: parameter 'maps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:89:72 revive unused-parameter: parameter 'verbose' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:93:25 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:93:40 revive unused-parameter: parameter 'load' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:93:55 revive unused-parameter: parameter 'maps' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:93:68 revive unused-parameter: parameter 'progName' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:93:85 revive unused-parameter: parameter 'verbose' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:98:2 revive unused-parameter: parameter 'bpfDir' seems to be unused, consider removing or renaming it as _ pkg/sensors/program/loader_windows.go:101:2 revive unused-parameter: parameter 'verbose' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:12:13 revive unused-parameter: parameter 'val' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:12:25 revive unused-parameter: parameter 'lists' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:16:23 revive unused-parameter: parameter 'lists' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:24:28 revive unused-parameter: parameter 'name' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:24:41 revive unused-parameter: parameter 'ty' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/lists_windows.go:28:28 revive unused-parameter: parameter 'list' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/policyhandler_windows.go:14:2 revive unused-parameter: parameter 'policy' seems to be unused, consider removing or renaming it as _ pkg/sensors/tracing/policyhandler_windows.go:15:2 revive unused-parameter: parameter 'policyID' seems to be unused, consider removing or renaming it as _ pkg/bpf/bpffs_windows.go:11:2 staticcheck ST1012: error var notSupportedWinErr should have name of the form errFoo pkg/bpf/perf_windows.go:21:10 staticcheck ST1005: error strings should not be capitalized pkg/bpf/ringbuf_windows.go:151:18 staticcheck QF1011: could omit type uint32 from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:152:17 staticcheck QF1011: could omit type unsafe.Pointer from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:153:16 staticcheck QF1011: could omit type uint32 from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:154:15 staticcheck QF1011: could omit type unsafe.Pointer from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:155:24 staticcheck QF1011: could omit type bool from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:157:14 staticcheck QF1011: could omit type uintptr from declaration; it will be inferred from the right-hand side pkg/bpf/ringbuf_windows.go:162:28 staticcheck SA1019: syscall.StringToUTF16Ptr has been deprecated since Go 1.1: Use [UTF16PtrFromString] instead. pkg/bpf/ringbuf_windows.go:178:28 staticcheck SA1019: syscall.StringToUTF16Ptr has been deprecated since Go 1.1: Use [UTF16PtrFromString] instead. pkg/bpf/ringbuf_windows.go:236:71 staticcheck SA1019: syscall.StringToUTF16Ptr has been deprecated since Go 1.1: Use [UTF16PtrFromString] instead. pkg/bpf/ringbuf_windows.go:238:71 staticcheck SA1019: syscall.StringToUTF16Ptr has been deprecated since Go 1.1: Use [UTF16PtrFromString] instead. pkg/bpf/ringbuf_windows.go:250:17 staticcheck SA1019: syscall.Syscall9 has been deprecated since Go 1.18: Use [SyscallN] instead. pkg/bpf/ringbuf_windows.go:289:2 staticcheck S1021: should merge variable declaration with assignment on next line pkg/bpf/ringbuf_windows.go:327:25 staticcheck QF1011: could omit type *_ebpf_map_async_query_result from declaration; it will be inferred from the right-hand side pkg/constants/constants_windows.go:28:27 staticcheck ST1005: error strings should not be capitalized pkg/observer/observer_windows.go:199:2 staticcheck S1021: should merge variable declaration with assignment on next line pkg/observer/observer_windows.go:219:10 staticcheck ST1005: error strings should not be capitalized pkg/observer/observer_windows.go:227:10 staticcheck ST1005: error strings should not be capitalized pkg/reader/proc/proc_windows.go:23:14 staticcheck ST1005: error strings should not be capitalized pkg/sensors/exec/procevents/proc_reader_windows.go:342:13 staticcheck ST1005: error strings should not be capitalized pkg/sensors/exec/procevents/proc_reader_windows.go:385:10 staticcheck QF1011: could omit type uint32 from declaration; it will be inferred from the right-hand side pkg/sensors/exec/procevents/proc_reader_windows.go:386:11 staticcheck QF1011: could omit type uint32 from declaration; it will be inferred from the right-hand side pkg/sensors/exec/procevents/proc_reader_windows.go:387:15 staticcheck QF1011: could omit type string from declaration; it will be inferred from the right-hand side pkg/sensors/load_windows.go:56:2 staticcheck S1023: redundant return statement pkg/sensors/program/loader_windows.go:21:2 staticcheck ST1012: error var notSupportedWinErr should have name of the form errFoo pkg/bpf/bpffs.go:105:2 unused var mountOnce is unused pkg/cgroups/cgroups.go:36:6 unused type deploymentEnv is unused pkg/observer/observer.go:34:2 unused const perCPUBufferBytes is unused pkg/observer/observer.go:144:6 unused func perfBufferSize is unused pkg/observer/observer.go:159:20 unused func (*Observer).getRBSize is unused pkg/reader/namespace/namespace_windows.go:13:6 unused type hostNamespaces is unused pkg/sensors/exec/procevents/proc_reader.go:26:2 unused const maxMapRetries is unused pkg/sensors/exec/procevents/proc_reader.go:27:2 unused const mapRetryDelay is unused pkg/sensors/exec/procevents/proc_reader_windows.go:183:6 unused func updateExecveMapStats is unused pkg/sensors/program/loader_windows.go:22:2 unused var programTypeProcessGUID is unused pkg/sensors/sensor_types_windows.go:12:6 unused func sanitize is unused pkg/sensors/tracing/args.go:24:6 unused type argPrinter is unused pkg/sensors/tracing/args.go:33:2 unused const argReturnCopyBit is unused pkg/sensors/tracing/args.go:34:2 unused const argMaxDataBit is unused pkg/sensors/tracing/args.go:37:6 unused func argReturnCopy is unused pkg/sensors/tracing/args.go:47:6 unused func getMetaValue is unused pkg/sensors/tracing/args.go:67:6 unused func getTracepointMetaValue is unused pkg/sensors/tracing/args.go:77:6 unused func getArg is unused pkg/sensors/tracing/args.go:575:6 unused func parseString is unused pkg/sensors/tracing/consts.go:23:5 unused var errParseStringSize is unused pkg/sensors/tracing/consts.go:26:7 unused const maxStringSize is unused pkg/sensors/tracing/enforcer.go:50:6 unused func enforcerMapsUser is unused pkg/sensors/tracing/lists_windows.go:20:6 unused type listReader is unused pkg/sensors/tracing/lists_windows.go:24:23 unused func (*listReader).Read is unused pkg/sensors/tracing/loader_windows.go:5:6 unused func createLoaderEvents is unused pkg/sensors/tracing/policyhandler.go:23:6 unused type policyInfo is unused pkg/sensors/tracing/policyhandler.go:32:6 unused func newPolicyInfo is unused pkg/sensors/tracing/policyhandler.go:51:6 unused func newPolicyInfoFromSpec is unused pkg/sensors/tracing/policyhandler.go:71:23 unused func (*policyInfo).policyConfMap is unused Signed-off-by: Mahe Tardy <[email protected]>
1 parent 6477bd2 commit 6680604

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

.github/workflows/static-checks.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ jobs:
6060
test -z "$(cat $outfile)"
6161
6262
golangci-lint:
63+
strategy:
64+
matrix:
65+
os: [linux, windows]
66+
fail-fast: false
6367
runs-on: ubuntu-latest
6468
steps:
6569
- name: Checkout
@@ -75,6 +79,8 @@ jobs:
7579

7680
- name: Run golangci-lint
7781
uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0
82+
env:
83+
GOOS: ${{ matrix.os }}
7884
with:
7985
# renovate: datasource=docker depName=docker.io/golangci/golangci-lint
8086
version: v2.1.5

0 commit comments

Comments
 (0)