Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork12
Usego.mod as source of Go version number for workflows#801
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
codecovbot commentedOct 16, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@## main #801 +/- ##======================================= Coverage 89.97% 89.97% ======================================= Files 44 44 Lines 6772 6772 ======================================= Hits 6093 6093 Misses 555 555 Partials 124 124
Flags with carried forward coverage won't be shown.Click here to find out more. ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
Go is used in the development and maintenance of the project. A standardized version of Go is used for all operations.This version is defined in the `go` directive of the go.mod metadata file.Go is installed in the GitHub Actions runner environments using the "actions/setup-go" action, which also must beconfigured to install the correct version of Go. Previously the version number for use by the "actions/setup-go" actionwas defined in each workflow. This meant that we had multiple copies of the Go version information, all of which had tobe kept in sync.Fortunately, support for using `go.mod` as the source of version information for the "actions/setup-go" action wasrecently added. This means it is now possible for all workflows to get the Go version from a single source.
Support for specifying the Go toolchain version compatibility of a module to patch version granularity via the `go`directive of the go.mod module metadata file was introduced in Go 1.21.0. The `go` directives of the project's moduleswere changed to specify the patch version when the project's Go version was bumped to 1.22.3. However, support for thisversion format was not added to the `go fix` command until Go 1.22.7.This caused the `go fix` command (which is invoked by the "check-outdated" job of the project's "Check Go" workflow) tofail when a version of Go between 1.21.0 and 1.22.6 was used:```invalid -go=go1.22.3exit status 2task: Failed to run task "go:fix": exit status 1```Previously, this did not affect the CI system because the workflows only specified the Go version to be installed by the"actions/setup-go" action to the minor version (1.22), and the action happened to use a version of Go >1.22.6. However,the "actions/setup-go" action now installs the exact version of Go specified the `go` directive, which means the runs ofthe "Check Go" workflow would fail with the above error if the value of the `go` directive is >=1.21.0 and <1.22.7.The chosen solution is to bump the value of the `go` directive to a version with the `go fix` command bug fixed.Although this could be achieved by a bump to 1.22.7, it makes sense to bump Go all the way to the latest version in the1.22.x series (because apparently the production release build system is not compatible with Go 1.23.x).
b56dadf intoarduino:mainUh oh!
There was an error while loading.Please reload this page.
Go is used in the development and maintenance of the project. A standardized version of Go is used for all operations.
This version is defined in the
godirective of thego.modmetadata file.Go is installed in the GitHub Actions runner environments using theactions/setup-go action, which also must be configured to install the correct version of Go. Previously the version number for use by theactions/setup-go action was defined in each workflow. This meant that we had multiple copies of the Go version information, all of which had to be kept in sync.
Fortunately, support for using
go.modas the source of version information for theactions/setup-go action was recently added:https://github.com/actions/setup-go/tree/main#getting-go-version-from-the-gomod-file
This means it is now possible for all workflows to get the Go version from a single source.