|
import os |
|
import requests |
|
from datetime import datetime |
|
|
|
|
|
GITHUB_API_URL = "https://api.github.com" |
|
REPO_OWNER = "BerriAI" |
|
REPO_NAME = "litellm" |
|
|
|
|
|
GITHUB_ACCESS_TOKEN = os.environ.get("GITHUB_ACCESS_TOKEN") |
|
|
|
|
|
headers = { |
|
"Accept": "application/vnd.github+json", |
|
"Authorization": f"Bearer {GITHUB_ACCESS_TOKEN}", |
|
"X-GitHub-Api-Version": "2022-11-28", |
|
} |
|
|
|
|
|
releases_url = f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/releases/latest" |
|
response = requests.get(releases_url, headers=headers) |
|
latest_release = response.json() |
|
print("Latest release:", latest_release) |
|
|
|
|
|
upload_url = latest_release["upload_url"].split("{?")[0] |
|
asset_name = "results_stats.csv" |
|
asset_path = os.path.join(os.getcwd(), asset_name) |
|
print("upload_url:", upload_url) |
|
|
|
with open(asset_path, "rb") as asset_file: |
|
asset_data = asset_file.read() |
|
|
|
upload_payload = { |
|
"name": asset_name, |
|
"label": "Load test results", |
|
"created_at": datetime.utcnow().isoformat() + "Z", |
|
} |
|
|
|
upload_headers = headers.copy() |
|
upload_headers["Content-Type"] = "application/octet-stream" |
|
|
|
upload_response = requests.post( |
|
upload_url, |
|
headers=upload_headers, |
|
data=asset_data, |
|
params=upload_payload, |
|
) |
|
|
|
if upload_response.status_code == 201: |
|
print(f"Asset '{asset_name}' uploaded successfully to the latest release.") |
|
else: |
|
print(f"Failed to upload asset. Response: {upload_response.text}") |
|
|