-
Notifications
You must be signed in to change notification settings - Fork 528
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add information about raw access to the README
- Loading branch information
Showing
1 changed file
with
10 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -193,8 +193,8 @@ steps: | |
|
||
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. | ||
|
||
The `go` directive in `go.mod` can specify a patch version or omit it altogether (e.g., `go 1.22.0` or `go 1.22`). | ||
If a patch version is specified, that specific patch version will be used. | ||
The `go` directive in `go.mod` can specify a patch version or omit it altogether (e.g., `go 1.22.0` or `go 1.22`). | ||
If a patch version is specified, that specific patch version will be used. | ||
If no patch version is specified, it will search for the latest available patch version in the cache, | ||
[versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json), and the | ||
[official Go language website](https://golang.org/dl/?mode=json&include=all), in that order. | ||
|
@@ -242,18 +242,14 @@ documentation. | |
|
||
## Using `setup-go` on GHES | ||
|
||
`setup-go` comes pre-installed on the appliance with GHES if Actions is enabled. When dynamically downloading Go | ||
distributions, `setup-go` downloads distributions from [`actions/go-versions`](https://github.com/actions/go-versions) | ||
on github.com (outside of the appliance). These calls to `actions/go-versions` are made via unauthenticated requests, | ||
which are limited | ||
to [60 requests per hour per IP](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting). If | ||
more requests are made within the time frame, then you will start to see rate-limit errors during downloading that looks | ||
like: `##[error]API rate limit exceeded for...`. After that error the action will try to download versions directly | ||
from https://storage.googleapis.com/golang, but it also can have rate limit so it's better to put token. | ||
`setup-go` comes pre-installed on the appliance with GHES if Actions is enabled. | ||
When dynamically downloading Go distributions, `setup-go` downloads distributions from [`actions/go-versions`](https://github.com/actions/go-versions) on github.com (outside of the appliance). | ||
|
||
To get a higher rate limit, you | ||
can [generate a personal access token on github.com](https://github.com/settings/tokens/new) and pass it as the `token` | ||
input for the action: | ||
These calls to `actions/go-versions` are made via unauthenticated requests, which are limited to [60 requests per hour per IP](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting). | ||
If more requests are made within the time frame, then the action leverages the `raw API` to retrieve the version-manifest. This approach does not impose a rate limit and hence facilitates unrestricted consumption. This is particularly beneficial for GHES runners, which often share the same IP, to avoid the quick exhaustion of the unauthenticated rate limit. | ||
If that fails as well the action will try to download versions directly from https://storage.googleapis.com/golang. | ||
|
||
If that fails as well you can get a higher rate limit with [generating a personal access token on github.com](https://github.com/settings/tokens/new) and passing it as the `token` input to the action: | ||
|
||
```yaml | ||
uses: actions/setup-go@v5 | ||
|
@@ -262,8 +258,7 @@ with: | |
go-version: '1.18' | ||
``` | ||
|
||
If the runner is not able to access github.com, any Go versions requested during a workflow run must come from the | ||
runner's tool cache. | ||
If the runner is not able to access github.com, any Go versions requested during a workflow run must come from the runner's tool cache. | ||
See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/[email protected]/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" | ||
for more information. | ||
|
||
|