diff --git a/osbs/tekton.py b/osbs/tekton.py index ec03520b..ce4ebea7 100644 --- a/osbs/tekton.py +++ b/osbs/tekton.py @@ -570,12 +570,17 @@ def get_final_platforms(self): task_results = self.get_task_results() - if 'binary-container-prebuild' not in task_results: - return None - - if 'platforms_result' in task_results['binary-container-prebuild']: - platforms = json.loads(task_results['binary-container-prebuild']['platforms_result']) - return platforms['platforms'] + if 'binary-container-prebuild' in task_results: + if 'platforms_result' in task_results['binary-container-prebuild']: + platforms = json.loads( + task_results['binary-container-prebuild']['platforms_result']) + return platforms['platforms'] + + if 'binary-container-init' in task_results: + if 'platforms_result' in task_results['binary-container-init']: + platforms = json.loads( + task_results['binary-container-init']['platforms_result']) + return platforms['platforms'] return None diff --git a/tests/test_api.py b/tests/test_api.py index a311e014..4eedf5c0 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1066,7 +1066,11 @@ def test_get_build_error_message(self, osbs_binary): @pytest.mark.parametrize('platforms_result', [ '{"platforms": ["x86_64", "ppc64le"]}', ]) - def test_get_final_platforms(self, osbs_binary, platforms_result): + @pytest.mark.parametrize('task', [ + 'binary-container-prebuild', + 'binary-container-init', + ]) + def test_get_final_platforms(self, osbs_binary, platforms_result, task): taskstatus = {'conditions': [{'reason': 'Succeeded'}], 'taskResults': [{'name': 'platforms_result', 'value': platforms_result}], @@ -1074,7 +1078,7 @@ def test_get_final_platforms(self, osbs_binary, platforms_result): childrefs = [{'name': 'task_run_name', 'kind': 'TaskRun'}] resp1 = {'metadata': {'name': 'run_name'}, 'status': {'childReferences': childrefs}} - resp2 = {'metadata': {'labels': {'tekton.dev/pipelineTask': 'binary-container-prebuild'}}, + resp2 = {'metadata': {'labels': {'tekton.dev/pipelineTask': task}}, 'status': taskstatus} flexmock(PipelineRun).should_receive('get_info').and_return(resp1)