-
Notifications
You must be signed in to change notification settings - Fork 4
🌱 Update to go 1.25.1, update mockery to v3 and golangcilint to v2 #325
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
base: main
Are you sure you want to change the base?
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the project's toolchain to use the latest versions of Go, Mockery, and golangci-lint, while also updating license headers to 2025.
- Updates Go version from 1.24.7 to 1.25.1 across Dockerfile and go.mod
- Upgrades Mockery from v2 to v3 and golangci-lint from v1 to v2
- Updates all license headers to Copyright 2025 IONOS Cloud
- Refactors concurrent test patterns to use
sync.WaitGroup.Go()method
Reviewed Changes
Copilot reviewed 59 out of 60 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Updates Go version and dependency versions |
| Makefile | Updates tool versions for golangci-lint and mockery |
| Dockerfile | Updates base Go image to 1.25.1 |
| .golangci.yml | Migrates configuration to golangci-lint v2 format |
| .mockery.yaml | Updates configuration for mockery v3 |
| internal/ionoscloud/clienttest/mock_client.go | Regenerated mock with mockery v3 |
| scope/cluster_test.go | Refactors concurrency test to use WaitGroup.Go() |
| internal/util/locker/locker_test.go | Refactors concurrency test to use WaitGroup.Go() |
| test/e2e/env_test.go | Improves string formatting efficiency |
| internal/controller/ionoscloudmachine_controller.go | Updates to use newer controller-runtime APIs |
| Multiple files | Updates license headers to 2025 |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| id := strconv.Itoa(i) | ||
| wg.Go(func() { |
Copilot
AI
Oct 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable id is captured by reference in the goroutine closure, which could lead to race conditions or incorrect values being used in concurrent execution. Consider passing id as a parameter to avoid closure capture issues.
| wg.Go(func() { | ||
| require.NoError(t, l.Lock(context.Background(), "test")) |
Copilot
AI
Oct 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable t is captured by reference in the goroutine closure. In concurrent tests, this can lead to race conditions when accessing the testing.T instance. Consider using require.NoError in the main goroutine or use a different assertion approach.



What is the purpose of this pull request/Why do we need it?
Updating stuff so everything is up-to-date.
Issue #, if available:
Description of changes:
We now use go 1.25.1
We now use Mockery v3
We now use golangci-lint v2
License header was updated (2025)
Special notes for your reviewer:
Checklist: