mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
cac074c57f
This fetches it from github, so we don't need to build it locally. Not super ideal, because devs are supposed to build it locally to prove reproducibility, but we can keep that diligence on the dev to do once when actually merging the PR.
47 lines
1.3 KiB
Python
Executable File
47 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import json
|
|
import os
|
|
import pprint
|
|
import subprocess
|
|
import sys
|
|
import urllib.request
|
|
from typing import Any
|
|
|
|
SHA256_FILE = "other/bootstrap_daemon/docker/tox-bootstrapd.sha256"
|
|
|
|
with open(f"{os.environ['HOME']}/.github-token") as fh:
|
|
token = fh.read().strip()
|
|
|
|
head_sha = (subprocess.run(["git", "rev-parse", "HEAD"],
|
|
capture_output=True,
|
|
check=True).stdout.decode("utf-8").strip())
|
|
|
|
|
|
def request(url: str) -> Any:
|
|
return json.loads(
|
|
urllib.request.urlopen(
|
|
urllib.request.Request(
|
|
url,
|
|
headers={
|
|
"Accept": "application/vnd.github+json",
|
|
"Authorization": "Bearer " + token,
|
|
"X-GitHub-Api-Version": "2022-11-28",
|
|
},
|
|
)).read())
|
|
|
|
|
|
pp = pprint.PrettyPrinter(indent=2, compact=True)
|
|
annots = [
|
|
a for r in request(
|
|
f"https://api.github.com/repos/TokTok/c-toxcore/commits/{head_sha}/check-runs?per_page=100"
|
|
)["check_runs"] if r["name"] == "docker-bootstrap-node"
|
|
for a in request(r["output"]["annotations_url"])
|
|
if a["path"] == SHA256_FILE
|
|
]
|
|
if not annots:
|
|
print("could not find sha256sum output")
|
|
sys.exit(1)
|
|
with open(SHA256_FILE, "w") as fh:
|
|
fh.write(annots[0]["message"] + "\n")
|
|
print(f"updated {SHA256_FILE}")
|