-
Notifications
You must be signed in to change notification settings - Fork 638
Description
I'm fairly new to GitHub actions, and to this action, but couldn't find documentation about accepted formats for Go versions.
Specifying Go-versions has historically been somewhat of a "hit/miss" in various tools, due to a combination of;
- Go itself using non-standard versions (
goprefix, e.g.go1.15.3) - Go itself omitting
.0on releases (two digits forgo1.15, notgo1.15.0, but patch releases do have three digits (go1.15.3)) - Different conventions in different tools
Different conventions used in different tools / CI systems can make the selected version ambiguous;
-
1.15could either meango1.15(1.15.0) or "latest patch release of go1.15" -
1.15.xis accepted by some tools to get "latest patch release" of1.15(usually excluding pre-releases, such asgo1.15beta1orgo1.15rc1) -
Omitting quotes can lead to "surprising" results: I recall when Go 1.10 was released, many users who updated their CI configuration discovered they were now installing Go
1.1(because1.10(without quotes) lead to YAML interpreting the version as a number) -
Are versions like
tipsupported? -
Travis's
gimme(https://github.com/travis-ci/gimme) also has some variations;gimme --resolve 1.x 1.15.3 gimme --resolve 1.14.x 1.14.10 gimme --resolve 1.14.3 1.14.3 gimme --resolve 1.15 1.15 gimme --resolve tip tip gimme --resolve stable 1.15.3 gimme --resolve oldstable 1.14.10
In short, it would be good to have a section to explain what version formats are accepted, and what their result is.
@bryanmacfarlane @thboop happy to contribute a pull-request (after I know what versions are accepted 😅)