Skip to content

Commit 3e9607f

Browse files
authored
Fix Koji artifact URLs to use build version and release (#5067)
Fixes #4887
1 parent 75ec8c0 commit 3e9607f

3 files changed

Lines changed: 17 additions & 5 deletions

File tree

tests/unit/artifact/__init__.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ def mock_api(method, *args, **kwargs):
4040
if method == "listBuildRPMs":
4141
return mock_rpms
4242
if method == "getBuild":
43-
return {"id": MOCK_BUILD_ID_KOJI_BREW, "package_name": "test-package"}
43+
return {
44+
"id": MOCK_BUILD_ID_KOJI_BREW,
45+
"package_name": "test-package",
46+
"version": "1.0",
47+
"release": "1.fc43",
48+
}
4449
return None
4550

4651
mock_call_api.side_effect = mock_api
@@ -85,7 +90,12 @@ def mock_api(method, *args, **kwargs):
8590
if method == "listBuildRPMs":
8691
return mock_rpms
8792
if method == "getBuild":
88-
return {"id": MOCK_BUILD_ID_KOJI_BREW, "package_name": "test-package"}
93+
return {
94+
"id": MOCK_BUILD_ID_KOJI_BREW,
95+
"package_name": "test-package",
96+
"version": "1.0",
97+
"release": "1.fc43",
98+
}
8999
if method == "getTaskDescendents":
90100
task_id = args[0] if args else kwargs.get('taskID')
91101
return {str(task_id): None, str(task_id + 1): None}

tests/unit/artifact/test_brew.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def test_brew_valid_draft_build(mock_brew, mock_call_api, artifact_provider):
3939
mock_call_api.side_effect = lambda method, *a, **kw: (
4040
mock_rpms
4141
if method == "listBuildRPMs"
42-
else {"id": draft_id, "package_name": "test-package"}
42+
else {"id": draft_id, "package_name": "test-package", "version": "1.0", "release": "1.el9"}
4343
)
4444

4545
provider = artifact_provider(f"brew.build:{draft_id}")

tmt/steps/prepare/artifact/providers/koji.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,11 +196,13 @@ def make_rpm_artifact(self, rpm_meta: dict[str, Any]) -> ArtifactInfo:
196196
"""
197197
assert self.build_info is not None
198198
package_name = self.build_info["package_name"]
199+
build_version = self.build_info["version"]
200+
build_release = self.build_info["release"]
199201
version_info = RpmVersion.from_rpm_meta(rpm_meta)
200202
path = (
201203
f"packages/{package_name}/"
202-
f"{version_info.version}/"
203-
f"{version_info.release}/"
204+
f"{build_version}/"
205+
f"{build_release}/"
204206
f"{version_info.arch}/"
205207
f"{version_info.nvra}.rpm"
206208
)

0 commit comments

Comments
 (0)