This action sets up a go environment for use in actions by:
- optionally downloading and caching a version of Go by version and adding to PATH
- registering problem matchers for error output
- Optionally downloading and caching a version of Go by version and adding to `PATH`.
- Registering problem matchers for error output.
# V3
The V3 offers:
- Adds GOBIN to the PATH
- Proxy Support
The V3 edition of the action offers:
- Adds `GOBIN` to the `PATH`
- Proxy support
- Check latest version
- Bug Fixes (including issues around version matching and semver)
- Bug fixes (including issues around version matching and semver)
The action will first check the local cache for a version match. If a version is not found locally, it will pull it from the `main` branch of the [go-versions](https://github.com/actions/go-versions/blob/main/versions-manifest.json) repository. On miss or failure, it will fall back to downloading directly from [go dist](https://storage.googleapis.com/golang). To change the default behavior, please use the [check-latest input](#check-latest-version).
Matching by [semver spec](https://github.com/npm/node-semver):
```yaml
steps:
- uses: actions/checkout@v3
@ -64,6 +63,7 @@ steps:
See [action.yml](action.yml)
## Basic:
```yaml
steps:
- uses: actions/checkout@v3
@ -74,7 +74,7 @@ steps:
```
## Check latest version:
## Check latest version:
The `check-latest` flag defaults to `false`. Use the default or set `check-latest` to `false` if you prefer stability and if you want to ensure a specific Go version is always used.
@ -93,6 +93,7 @@ steps:
```
## Matrix Testing:
```yaml
jobs:
build:
@ -111,9 +112,10 @@ jobs:
```
### Supported version syntax
The `go-version` input supports the following syntax:
Specific versions: `1.15`, `1.16.1`, `1.17.0-rc.2`, `1.16.0-beta.1`
Specific versions: `1.15`, `1.16.1`, `1.17.0-rc.2`, `1.16.0-beta.1`
SemVer's version range syntax: `^1.13.1`, `>=1.18.0-rc.1`
For more information about semantic versioning please refer [semver](https://github.com/npm/node-semver) documentation