Commit graph

11 commits

Author SHA1 Message Date
Berk D. Demir
b9260615df Add version-resolver input
Tool cache can be stale in GitHub and self-hosted runners. If supplied
`go-version` is a semver range--instead of an explicit version--it will
be tried through the version inventory in cache, first. Even though
the GitHub local copy or origin distribution may have newer versions
matching the passed range, as long as the cache can satisfy the range,
the latest version from cache will be used.

Introduce an optional input, `version-resolver`. If defined, it tries to
resolve the version spec against either GitHub local copy or Go's
canonical source of version manifest.
If the value of `version-resolver` is:
  - "manifest": the manifest file under @actions/go-version get used.
  - "dist": the manifest at https://golang.org/dl/?mode=json&include=all
  gets used.  It can take values

Example:
--------
- Latest Go Version: 1.15.2
- tool-cache has go1.15 (1.15.0), latest.

build.yml:
```
[...]
  - uses: actions/setup-go@v2
    with:
      go-version: '>=1.5 <2'
[...]
```

Although the intention of the user might be to get latest
version between "oldest Go 1.15.0, newest--not inclusive--Go 2.0", the
cache will match this range with Go 1.15.0.

build.yml (v2):
```
[...]
  - uses: actions/setup-go@v2
    with:
      go-version: '>=1.5 <2'
      version-resolver: 'manifest'
[...]
```

With supplied version resolver, the semver range will be checked against
the local GitHub version manifest from @actions/go-versions[1], and
match 1.15.2. Cache will be queried with the resolved version, instead
of the range. When the cache gets updated globally, next runs will use
the tool from the cache, instead of downloading locally or in case of
resolver 'dist', directly from Google.

[1]: https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json

Closes #73
2020-12-16 15:07:50 -08:00
Dmitry Shibanov
1616116e1b
Use GitHub releases to download Go versions. (#58) 2020-06-29 11:41:13 -04:00
Bryan MacFarlane
3c844703e7 bugs 2020-02-09 08:44:32 -05:00
Bryan MacFarlane
4282769cc0 starting v2 and proxy support 2020-02-09 00:21:39 -05:00
Danny McCormick
4efa1b82d1
Deprecate version 2019-09-12 10:36:27 -04:00
Danny McCormick
818723587f
Update to use go-version (#10) 2019-08-13 16:31:11 -04:00
Danny McCormick
e7a06beff0
Update action name 2019-08-12 14:41:23 -04:00
Danny McCormick
eeb946a217
Update action.yml 2019-07-09 12:44:13 -04:00
Danny McCormick
993cd9ffce
Update action.yml 2019-06-19 10:11:12 -04:00
Danny McCormick
cef575caea Metadata changes 2019-06-19 09:56:06 -04:00
Danny McCormick
cd176c696b Add setup-go 2019-06-19 09:44:17 -04:00