mirror of
https://github.com/actions/setup-go.git
synced 2025-04-23 17:40:50 +00:00
Merge b544d3a2e3
into 99176a8f9a
This commit is contained in:
commit
f7b829f4ff
1 changed files with 39 additions and 8 deletions
47
README.md
47
README.md
|
@ -187,16 +187,19 @@ steps:
|
||||||
|
|
||||||
- run: go run hello.go
|
- run: go run hello.go
|
||||||
```
|
```
|
||||||
|
## Getting go version from a file
|
||||||
## 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.
|
|
||||||
|
|
||||||
If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used.
|
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
|
> The action will search for the `go.mod` file relative to the repository root
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -208,6 +211,34 @@ steps:
|
||||||
- run: go version
|
- 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
|
## Matrix testing
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|
Loading…
Add table
Reference in a new issue