ci: bump golangci-lint-action to v9.3.0 and fix DeferMutexUnlock lint offense#3676
Merged
dgageot merged 2 commits intoJul 16, 2026
Merged
Conversation
Assisted-By: docker/claude-sonnet-4-5
Assisted-By: docker/claude-sonnet-4-5
docker-agent
left a comment
Contributor
There was a problem hiding this comment.
Assessment: 🟢 APPROVE
The changes in this PR are correct and safe.
CI bump (): Straightforward version bump of golangci/golangci-lint-action from v9.2.0 to v9.3.0 with a matching pinned SHA. No correctness concerns.
Mutex fix (pkg/tools/builtin/scheduler/scheduler.go): The setRuntime method's conversion from an explicit t.mu.Unlock() to defer t.mu.Unlock() is safe and idiomatic. The function body contains only the single assignment t.rt = rt, so the effective lock-release point is unchanged. The change is also consistent with the existing runtime() method, which already uses defer t.mu.Unlock(). No deadlock risk — callers invoke signalWake() after setRuntime returns, after the lock is fully released.
No bugs introduced.
melmennaoui
approved these changes
Jul 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps
golangci/golangci-lint-actionfrom v9.2.0 to v9.3.0 in the CI workflow, with the action SHA pinned to match. golangci-lint itself is already at the latest v2.12.2 so no tool version change was needed.The bump surfaced a
DeferMutexUnlockoffense in the scheduler'ssetRuntimemethod, wheremu.Unlock()was called directly rather than viadefer. The fix moves the unlock to a deferred call, which is the safer and idiomatic pattern — it guarantees the lock is released even if a panic occurs, and eliminates the lint warning cleanly.Additional linters evaluated during this pass (including
forcetypeassert,nilerr,nilnil,spancheck,errchkjson,canonicalheader,dupword,musttag,tagalign,godot,gosmopolitan, and others) were not enabled: hits were either false positives, intentional patterns, or stylistic churn with no correctness benefit.