-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
go: Add info how to work with the new Go version
Signed-off-by: Tatiana Nesterenko <[email protected]>
- Loading branch information
1 parent
542c04c
commit 8ec8360
Showing
1 changed file
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# GO | ||
|
||
## Version updates | ||
|
||
Upon the release of a new version of Go, all repositories are updated | ||
according to the following conventions: | ||
* The minimum supported version of Go is set to two versions back from | ||
the previous one. For example, upon the release of Go 1.22, the minimum | ||
version becomes 1.20. | ||
* All dependency packages are updated (sometimes, according to project | ||
requirements, some deprecated package methods may be updated as well.) | ||
* New Go version features are adapted where they make sense or can improve | ||
performance. | ||
* Go versions in GitHub workflows are also updated as follows: | ||
|
||
1. Testing is performed on the last three versions of Go. In the example | ||
mentioned above, this would be `[ '1.20', '1.21', '1.22' ]`. | ||
2. For build and cover jobs, the latest version should be used. In the | ||
example mentioned above, this would be 1.22. | ||
3. If there are new versions of GitHub actions, they can also be updated | ||
(for example, actions/checkout, actions/setup-go, actions/upload-artifact, | ||
etc.). | ||
4. The Go version for the linter equals the minimum supported version and | ||
is usually taken from the `go.mod` file by specifying in the *.yml file: | ||
``` | ||
with: | ||
go-version-file: 'go.mod' | ||
``` |