Skip to content

Commit 39016bd

Browse files
committed
Pass along GITHUB_TOKEN is availabel to avoid GitHub rate limits
Signed-off-by: Christoph Obexer <cobexer@gradle.com>
1 parent 0318412 commit 39016bd

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

toolbox.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ fi
88

99
exec docker run --rm -ti \
1010
-v "$(pwd):/workspace" \
11+
-e GITHUB_TOKEN \
1112
-w /workspace \
1213
gradle-dockerhub-toolbox \
1314
python3 "$@"

update.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
import os
55
import sys
66
import hashlib
7+
from urllib.parse import urlparse
8+
9+
def github_headers(url):
10+
token = os.environ.get("GITHUB_TOKEN")
11+
if not token:
12+
return {}
13+
host = urlparse(url).hostname or ""
14+
if host == "api.github.com" or host == "github.com" or host.endswith(".github.com") or host == "objects.githubusercontent.com":
15+
return {"Authorization": f"Bearer {token}"}
16+
return {}
717

818
def get_gradle_version(base_version):
919
response = requests.get(f"https://services.gradle.org/versions/{base_version}", timeout=10)
@@ -25,15 +35,15 @@ def get_gradle_version(base_version):
2535

2636
def calculate_sha256(url):
2737
sha256_hash = hashlib.sha256()
28-
with requests.get(url, stream=True, timeout=300) as r:
38+
with requests.get(url, stream=True, timeout=300, headers=github_headers(url)) as r:
2939
r.raise_for_status()
3040
for chunk in r.iter_content(chunk_size=8192):
3141
sha256_hash.update(chunk)
3242
return sha256_hash.hexdigest()
3343

3444
def get_sha256(url):
3545
try:
36-
response = requests.get(url, timeout=10)
46+
response = requests.get(url, timeout=10, headers=github_headers(url))
3747
response.raise_for_status()
3848
return response.text.strip()
3949
except requests.exceptions.HTTPError as e:
@@ -44,7 +54,8 @@ def get_sha256(url):
4454
raise
4555

4656
def get_graalvm_info(jdk_version):
47-
response = requests.get("https://api.github.com/repos/graalvm/graalvm-ce-builds/releases?per_page=20&page=1", timeout=10)
57+
url = "https://api.github.com/repos/graalvm/graalvm-ce-builds/releases?per_page=20&page=1"
58+
response = requests.get(url, timeout=10, headers=github_headers(url))
4859
response.raise_for_status()
4960
releases = response.json()
5061

0 commit comments

Comments
 (0)