Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Merged
per1234 merged 2 commits intoarduino:mainfromper1234:go_mod-versioning
Nov 22, 2024

Conversation

@per1234
Copy link
Contributor

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 thego directive of thego.mod metadata 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 usinggo.mod as 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.

@per1234per1234 added type: enhancementProposed improvement topic: infrastructureRelated to project infrastructure labelsOct 16, 2024
@per1234per1234 self-assigned thisOct 16, 2024
@codecov
Copy link

codecovbot commentedOct 16, 2024
edited
Loading

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.97%. Comparing base(f93350f) to head(79de0f2).
Report is 3 commits behind head on main.

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
FlagCoverage Δ
unit89.97% <ø> (ø)

Flags with carried forward coverage won't be shown.Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report?Share it here.


🚨 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).
@per1234per1234 merged commitb56dadf intoarduino:mainNov 22, 2024
59 checks passed
@per1234per1234 deleted the go_mod-versioning branchNovember 22, 2024 08:51
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

@per1234per1234

Labels

topic: infrastructureRelated to project infrastructuretype: enhancementProposed improvement

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

@per1234

[8]ページ先頭

©2009-2025 Movatter.jp