Skip to content

Commit 9079cde

Browse files
committed
go: Add info how to work with the new Go version
Signed-off-by: Tatiana Nesterenko <[email protected]>
1 parent 542c04c commit 9079cde

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

go.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Working with Go language versions in project
2+
3+
Upon the release of a new version of Go, all repositories are updated
4+
according to the following conditions:
5+
* The minimum supported version of Go is set to two versions back from
6+
the previous one. (For example, upon the release of Go 1.22, the minimum
7+
version becomes 1.20.)
8+
* All dependency packages are updated (sometimes, according to project
9+
requirements, some deprecated package methods may be updated as well.)
10+
* Go versions in GitHub workflows are also updated as follows:
11+
12+
1. Testing is performed on the last three versions of Go (in the example
13+
mentioned above, this would be `[ '1.20', '1.21', '1.22' ]`).
14+
2. For build and cover jobs, the latest version should be used (in the
15+
example mentioned above, this would be 1.22).
16+
3. If there are new versions of GitHub actions, they can also be updated
17+
(for example, actions/checkout, actions/setup-go, actions/upload-artifact,
18+
etc.).
19+
4. The Go version for the linter equals the minimum supported version and
20+
is usually taken from the `go.mod` file by specifying in the *.yml file:
21+
```
22+
with:
23+
go-version-file: 'go.mod'
24+
```

0 commit comments

Comments
 (0)