diff --git a/taskcluster/taskgraph/loader/push_apk.py b/taskcluster/taskgraph/loader/push_apk.py index 0507c99677aa..20562e6a92eb 100644 --- a/taskcluster/taskgraph/loader/push_apk.py +++ b/taskcluster/taskgraph/loader/push_apk.py @@ -26,7 +26,8 @@ def get_dependent_loaded_tasks(config, loaded_tasks): task for task in nightly_tasks if task.kind in config.get('kind-dependencies') ) android_tasks = [ - task for task in tasks_with_matching_kind if 'android' in task.label + task for task in tasks_with_matching_kind + if task.attributes.get('build_platform', '').startswith('android') ] return android_tasks diff --git a/taskcluster/taskgraph/util/push_apk.py b/taskcluster/taskgraph/util/push_apk.py index 4bdc528c998f..7940eb2bbf18 100644 --- a/taskcluster/taskgraph/util/push_apk.py +++ b/taskcluster/taskgraph/util/push_apk.py @@ -9,7 +9,10 @@ import re from taskgraph.util.schema import validate_schema -REQUIRED_ARCHITECTURES = ('android-x86', 'android-api-15') +REQUIRED_ARCHITECTURES = { + 'android-x86-nightly', + 'android-api-15-nightly', +} PLATFORM_REGEX = re.compile(r'signing-android-(\S+)-nightly') @@ -36,15 +39,9 @@ def validate_dependent_tasks_transform(_, jobs): def check_every_architecture_is_present_in_dependent_tasks(dependent_tasks): - dependencies_labels = [task.label for task in dependent_tasks] - - is_this_required_architecture_present = { - architecture: any(architecture in label for label in dependencies_labels) - for architecture in REQUIRED_ARCHITECTURES - } - are_all_required_achitectures_present = all(is_this_required_architecture_present.values()) - - if not are_all_required_achitectures_present: + dep_platforms = set(t.attributes.get('build_platform') for t in dependent_tasks) + missed_architectures = REQUIRED_ARCHITECTURES - dep_platforms + if missed_architectures: raise Exception('''One or many required architectures are missing. Required architectures: {}.