pull/295/merge
Victor Martinez 1 year ago committed by GitHub
commit f7b829f4ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -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 If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used.
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 If the file contains only major and minor (e.g. 1.18) tags, the action will search for the latest available patch version
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 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)
latest available patch version sequentially in the runner's directory with the cached tools, in file or at the go servers.
the [versions-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.
If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used.
> 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…
Cancel
Save