Skip to content

make it possible to set the GOOS / GOARCH #742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3 tasks done
marten-seemann opened this issue May 6, 2023 · 4 comments
Closed
3 tasks done

make it possible to set the GOOS / GOARCH #742

marten-seemann opened this issue May 6, 2023 · 4 comments
Labels
question Further information is requested

Comments

@marten-seemann
Copy link

marten-seemann commented May 6, 2023

Welcome

  • Yes, I understand that the GitHub action repository is not the repository of golangci-lint itself.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've included all information below (version, config, etc).

Description of the problem

I have a lot of platform-specific in quic-go. So far, I've been running golangci-lint on Ubuntu, thus only the code for Linux has been linted.

I discovered that in the terminal, it's easily possible to run golangci-lint for other platforms as well:

GOOS=<x> GOARCH=<y> golangci-lint run .

As you might be able to expected, the code for the other platforms was not properly linted. I therefore would like to run golangci-lint using multiple platforms on CI. As far as I can see, there's no way to set the GOOS / GOARCH as a config flag.

As a workaround, this is how you could achieve the same result:

- name: Set GOOS environment variable
  run: echo "GOOS=windows" >> $GITHUB_ENV
- name: golangci-lint (Linux)
  uses: golangci/golangci-lint-action@v3
  with:
     version: v1.52.2

I suggest adding config flags to make this more accessible:

- name: golangci-lint (Linux)
  uses: golangci/golangci-lint-action@v3
  with:
     goos: "windows"
     goarch: "i386"
     version: v1.52.2

Does this make sense?

Version of golangci-lint

v1.52.2

Version of the GitHub Action

v3

Workflow file

see above

Go version

1.20

Code example or link to a public repository

https://github.com/quic-go/quic-go/blob/22d6b0e626c56f311ff05705042d8caf506e5919/.github/workflows/lint.yml#L24-L35

@ldez
Copy link
Member

ldez commented Jun 12, 2023

I think a better solution is to use an OS matrix:

jobs:

  golangci-lint:
    name: Linter
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]

    steps:
// ...

@ldez ldez added the question Further information is requested label Jun 12, 2023
@marten-seemann
Copy link
Author

Not really. You pay the cost of booting the VM, checking out the code, setting up Go, for a linting fast that just takes a few seconds.

It also means that you can only lint the code for the 3 platforms that GH actions is offering. I need to support FreeBSD, among others, so this doesn’t work at all.

@ldez
Copy link
Member

ldez commented Jun 12, 2023

When the binary is built, it is built for a GOOS/ARCH tuple, some elements of the std or dependencies can be missing.

The basic core can work because it's related to Go tooling, but I cannot provide any warranty about the behavior when playing with GOOS/ARCH to run golangci-lint.

In this context adding options to play with GOOS/ARCH seems risky.

@ldez
Copy link
Member

ldez commented Jun 12, 2023

I think your current approach based on env vars is the best approach to handle your use case.

https://github.com/quic-go/quic-go/blob/e1bcedc78cfea33b47d46349e9219e45d4c74b6c/.github/workflows/lint.yml#LL42C10-L42C10

For other users: I recommend NOT doing that as explain here.

@ldez ldez closed this as completed May 4, 2024
@ldez ldez mentioned this issue Jun 6, 2024
2 tasks
mtardy added a commit to cilium/tetragon that referenced this issue Apr 23, 2025
In addition to the existing linux run, and also explicitely build for
amd64 and arm64. Using GOOS and GOARCH 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)

Signed-off-by: Mahe Tardy <[email protected]>
mtardy added a commit to cilium/tetragon that referenced this issue Apr 23, 2025
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)

Signed-off-by: Mahe Tardy <[email protected]>
mtardy added a commit to cilium/tetragon that referenced this issue Apr 23, 2025
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)

Signed-off-by: Mahe Tardy <[email protected]>
mtardy added a commit to cilium/tetragon that referenced this issue Apr 24, 2025
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]>
mtardy added a commit to cilium/tetragon that referenced this issue Apr 25, 2025
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants