mirror of
https://github.com/actions/setup-go.git
synced 2025-08-18 14:45:08 +00:00
Merge b544d3a2e3035ca424b12d67115e48d2170286d1 into 99176a8f9aa3ae7fc1e503375b3a4eb51ddae549
This commit is contained in:
commit
f7b829f4ff
47
README.md
47
README.md
@ -187,16 +187,19 @@ steps:
|
||||
|
||||
- run: go run hello.go
|
||||
```
|
||||
|
||||
## Getting go version from the go.mod file
|
||||
|
||||
The `go-version-file` input accepts a path to a `go.mod` file or a `go.work` file that contains the version of Go to be
|
||||
used by a project. As the `go.mod` file contains only major and minor (e.g. 1.18) tags, the action will search for the
|
||||
latest available patch version sequentially in the runner's directory with the cached tools, in
|
||||
the [versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json) file or at the go
|
||||
servers.
|
||||
## Getting go version from a file
|
||||
|
||||
If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used.
|
||||
|
||||
If the file contains only major and minor (e.g. 1.18) tags, the action will search for the latest available patch version
|
||||
sequentially in the runner's directory with the cached tools, in the [version-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json)
|
||||
file or at the go servers.
|
||||
|
||||
### If the go.mod or .tool-versions files
|
||||
|
||||
The `go-version-file` input accepts a path to a `go.mod` file, [.tool-versions](https://asdf-vm.com/manage/configuration.html#tool-versions) file or a `go.work` file that contains the version of Go to be used by a project.
|
||||
As the `go.mod` file contains only major and minor (e.g. 1.18) tags, the action will follow the above-mentioned approach.
|
||||
|
||||
> The action will search for the `go.mod` file relative to the repository root
|
||||
|
||||
```yaml
|
||||
@ -208,6 +211,34 @@ steps:
|
||||
- run: go version
|
||||
```
|
||||
|
||||
The `go-version` output contains the resolved Golang version from the `go.mod` file.
|
||||
|
||||
> The action will search for the `.tool-versions` file relative to the repository root
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version-file: '.tool-versions'
|
||||
- run: go version
|
||||
```
|
||||
|
||||
### If a different file
|
||||
|
||||
The `go-version-file` input accepts a path to a file that contains the version of Go to be used by a project. It supports either major and minor (e.g 1.18) or major, minor and patch (e.g 1.18.7) tags. If the file contains only major and minor (e.g. 1.18) tags, the action will follow the above-mentioned approach.
|
||||
|
||||
> The action will search for the `.go-version` file relative to the repository root
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version-file: 'path/to/.go-version'
|
||||
- run: go version
|
||||
```
|
||||
|
||||
## Matrix testing
|
||||
|
||||
```yaml
|
||||
|
Loading…
x
Reference in New Issue
Block a user