nixfleet/packages/forgejo-report-checks/forgejo-report-checks.py
Andrea Ciceri 0057fb3378
Some checks failed
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
UPLOAD x86_64-linux.picard
DOWNLOAD x86_64-linux.picard
CACHIX x86_64-linux.picard
ATTIC x86_64-linux.picard
/ test (push) Successful in 1m50s
Typo
2024-12-17 11:37:59 +01:00

33 lines
1.1 KiB
Python

from pyforgejo import AuthenticatedClient
from pyforgejo.api.repository import repo_create_status
from pyforgejo.models.create_status_option import CreateStatusOption
import json
from os import environ
client = AuthenticatedClient(base_url=environ["GITHUB_API_URL"], token=environ["GITHUB_TOKEN"])
with open('result.json', 'r') as file:
data = json.load(file)
print("Reporting statuses acording to the following result.json")
print(json.dumps(data, indent=2))
for result in data['results']:
attr = result['attr']
success = result['success']
type = result['type']
print(f"Report status success={success} for {type} {attr}")
response = repo_create_status.sync_detailed(
owner="aciceri",
repo="nixfleet",
sha=environ["GITHUB_SHA"],
client=client,
body=CreateStatusOption(
context=type,
description=attr,
target_url="https://git.aciceri.dev", # FIXME
state="success" if success else "failure" # may be pending,success,failure,error_message
)
)
print("Done reporting statuses")