build: cover Windows Go files (#1052)

- fix Windows-only golangci-lint findings in `lp_windows.go` and process killer handle cleanup
- add a `lint-go-windows` target that runs golangci-lint with `GOOS=windows`
- include the Windows lint pass in `make lint` so Ubuntu CI covers `_windows.go` files

Reviewed-on: https://gitea.com/gitea/runner/pulls/1052
Reviewed-by: Zettat123 <39446+zettat123@noreply.gitea.com>
This commit is contained in:
Nicolas
2026-06-28 21:06:51 +00:00
parent e22d3fa263
commit 3c4bcf3ebf
4 changed files with 14 additions and 6 deletions

View File

@@ -39,13 +39,13 @@ func NewKiller(p *os.Process) (*Killer, error) {
h, err := windows.OpenProcess(windows.PROCESS_SET_QUOTA|windows.PROCESS_TERMINATE, false, uint32(p.Pid))
if err != nil {
windows.CloseHandle(job)
_ = windows.CloseHandle(job)
return nil, err
}
defer windows.CloseHandle(h)
defer func() { _ = windows.CloseHandle(h) }()
if err := windows.AssignProcessToJobObject(job, h); err != nil {
windows.CloseHandle(job)
_ = windows.CloseHandle(job)
return nil, err
}

View File

@@ -23,7 +23,7 @@ func processAlive(pid int) bool {
if err != nil {
return false
}
defer windows.CloseHandle(h)
defer func() { _ = windows.CloseHandle(h) }()
var code uint32
if err := windows.GetExitCodeProcess(h, &code); err != nil {
return false