mirror of
https://github.com/actions/setup-go.git
synced 2025-06-29 12:43:45 +00:00
Prefer installing version from toolchain
directive
Prefer this over the version from the `go` directive. Per the docs[1] > The toolchain line declares a suggested toolchain to use with the module or workspace It seems reasonable to use this, since running this action in a directory containing a `go.mod` (or `go.work`) suggests the user is wishing to work _with the module or workspace_. See (TODO link issue)
This commit is contained in:
parent
763ffebcce
commit
145e58d96c
3 changed files with 67 additions and 4 deletions
10
dist/setup/index.js
vendored
10
dist/setup/index.js
vendored
|
@ -88545,8 +88545,14 @@ function parseGoVersionFile(versionFilePath) {
|
|||
const contents = fs_1.default.readFileSync(versionFilePath).toString();
|
||||
if (path.basename(versionFilePath) === 'go.mod' ||
|
||||
path.basename(versionFilePath) === 'go.work') {
|
||||
const match = contents.match(/^go (\d+(\.\d+)*)/m);
|
||||
return match ? match[1] : '';
|
||||
// toolchain directive: https://go.dev/ref/mod#go-mod-file-toolchain
|
||||
const matchToolchain = contents.match(/^toolchain go(\d+(\.\d+)*)/m);
|
||||
if (matchToolchain) {
|
||||
return matchToolchain[1];
|
||||
}
|
||||
// go directive: https://go.dev/ref/mod#go-mod-file-go
|
||||
const matchGo = contents.match(/^go (\d+(\.\d+)*)/m);
|
||||
return matchGo ? matchGo[1] : '';
|
||||
}
|
||||
return contents.trim();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue