Commit Graph

25 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
Maxim Lobanov d0c5defdf3
Switch manifest installation from "master" to "main" branch (#65)
* switch from master to main branch

* Update README.md
2020-07-20 12:50:40 -04:00
Dmitry Shibanov 1616116e1b
Use GitHub releases to download Go versions. (#58) 2020-06-29 11:41:13 -04:00
Bryan MacFarlane 3d0e3826ed prefer globally installed bin 2020-03-26 12:02:52 -04:00
Bryan MacFarlane 9c31f591e9 add bin to path 2020-03-26 11:53:35 -04:00
Bryan MacFarlane 9b1c41166a fix version dir 2020-03-26 10:44:11 -04:00
Bryan MacFarlane 655555d319 fix cache dir issue 2020-03-26 10:38:51 -04:00
Bryan MacFarlane 768458bd0b pre-release version and test 2020-02-10 19:18:01 -05:00
Bryan MacFarlane 43880314e9 CR feedback 2020-02-10 15:21:04 -05:00
Bryan MacFarlane a6a701e18e better user output 2020-02-09 22:39:44 -05:00
Bryan MacFarlane 6b10398c43 removed unneeded console.log 2020-02-09 19:30:05 -05:00
Bryan MacFarlane 6cb99a33d7 another test 2020-02-09 18:48:40 -05:00
Bryan MacFarlane 79b62adb05 another test and bugs 2020-02-09 18:09:15 -05:00
Bryan MacFarlane 7af81a4a65 bit of cleanup 2020-02-09 14:39:34 -05:00
Bryan MacFarlane f4b0281c15 mocked tests work with no internet 2020-02-09 09:25:20 -05:00
Bryan MacFarlane 3c844703e7 bugs 2020-02-09 08:44:32 -05:00
Bryan MacFarlane dc575ee3b3 format 2020-02-09 00:29:21 -05:00
Bryan MacFarlane 4282769cc0 starting v2 and proxy support 2020-02-09 00:21:39 -05:00
Ross Brodbeck 0cbaec8e4b Change getFileName to do architecture lookups and add arm support 2019-11-21 10:23:32 -05:00
Alif Rachmawadi 21620fff65
use golang-dl release data 2019-09-05 13:09:55 +07:00
Alif Rachmawadi 632d18fc92 Handle .x version syntax with latest release (#13)
* get latest release for .x syntax version

* added nock as dev dependency

* added test for .x syntax

* updated readme

* updated http client name

* use rest client for getting available versions

* more .x handling

* move nock to setup and teardown
2019-08-19 08:28:37 -04:00
Danny McCormick 90fdf52904 clean up 2019-06-21 14:54:30 -04:00
Danny McCormick f34fd68566 Add installer 2019-06-20 13:28:39 -04:00
Danny McCormick 263a218578 Temporarily remove installation so it can be reviewed 2019-06-20 13:09:43 -04:00
Danny McCormick cd176c696b Add setup-go 2019-06-19 09:44:17 -04:00