Skip to content

Commit

Permalink
Link packit builds
Browse files Browse the repository at this point in the history
Fix #22
  • Loading branch information
FrostyX authored and nikromen committed Mar 26, 2024
1 parent d63a054 commit a36e8e8
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
3 changes: 1 addition & 2 deletions backend/src/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from src.constants import (
COPR_BUILD_URL,
KOJI_BUILD_URL,
PACKIT_BUILD_URL,
FEEDBACK_DIR,
BuildIdTitleEnum,
ProvidersEnum,
Expand Down Expand Up @@ -143,7 +142,7 @@ def get_packit_build_logs(packit_id: int) -> ContributeResponseSchema:
return ContributeResponseSchema(
build_id=packit_id,
build_id_title=BuildIdTitleEnum.packit,
build_url=PACKIT_BUILD_URL,
build_url=provider.url,
logs=provider.fetch_logs(),
spec_file=provider.fetch_spec_file(),
)
Expand Down
1 change: 0 additions & 1 deletion backend/src/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

COPR_BUILD_URL = "https://copr.fedorainfracloud.org/coprs/build/{0}"
KOJI_BUILD_URL = "https://koji.fedoraproject.org/koji/buildinfo?buildID={0}"
PACKIT_BUILD_URL = "https://dashboard.packit.dev/jobs/copr-builds"
FEEDBACK_DIR = os.environ.get("FEEDBACK_DIR", "/persistent/results")

COPR_RESULT_TEMPLATE = "https://download.copr.fedorainfracloud.org" + \
Expand Down
22 changes: 20 additions & 2 deletions backend/src/fetcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,16 @@ def __init__(self, packit_id: int) -> None:
self.packit_id = packit_id
self.copr_url = f"{self.packit_api_url}/copr-builds/{self.packit_id}"
self.koji_url = f"{self.packit_api_url}/koji-builds/{self.packit_id}"
self._provider = None

@property
def provider(self):
"""
Cached so that we don't send HTTP requests for every call
"""
if not self._provider:
self._provider = self._get_correct_provider()
return self._provider

def _get_correct_provider(self) -> CoprProvider | KojiProvider:
resp = requests.get(self.copr_url)
Expand All @@ -394,11 +404,19 @@ def _get_correct_provider(self) -> CoprProvider | KojiProvider:

@handle_errors
def fetch_logs(self) -> list[dict[str, str]]:
return self._get_correct_provider().fetch_logs()
return self.provider.fetch_logs()

@handle_errors
def fetch_spec_file(self) -> dict[str, str]:
return self._get_correct_provider().fetch_spec_file()
return self.provider.fetch_spec_file()

@property
def url(self):
if isinstance(self.provider, CoprProvider):
_url = "https://dashboard.packit.dev/results/copr-builds/{0}"
else:
_url = "https://dashboard.packit.dev/results/koji-builds/{0}"
return _url.format(self.packit_id)


class URLProvider(RPMProvider):
Expand Down

0 comments on commit a36e8e8

Please sign in to comment.