def get_lint_failures(push, parent_push=None): lint_results = Job.objects.filter( Q(machine_platform__platform='lint') | Q(job_type__symbol='mozlint'), push=push, tier__lte=2, ).select_related('machine_platform', 'taskcluster_metadata') result, failures = get_job_results(lint_results, 'testfailed') if parent_push: mark_failed_in_parent(failures, get_lint_failures(parent_push)[1]) return (result, failures)
def get_build_failures(push, parent_push=None): build_failures = Job.objects.filter( push=push, tier__lte=2, result='busted', ).select_related('machine_platform', 'taskcluster_metadata') failures = [job_to_dict(job) for job in build_failures] if parent_push: mark_failed_in_parent(failures, get_build_failures(parent_push)) return failures
def get_lint_failures(push, parent_push=None): lint_failures = Job.objects.filter( Q(machine_platform__platform='lint') | Q(job_type__symbol='mozlint'), push=push, tier__lte=2, result='testfailed', ).select_related('machine_platform', 'taskcluster_metadata') failures = [job_to_dict(job) for job in lint_failures] if parent_push: mark_failed_in_parent(failures, get_lint_failures(parent_push)) return failures
def get_build_failures(push, parent_push=None): # icontains doesn't work with mysql unless collation settings are adjusted: https://code.djangoproject.com/ticket/9682 build_types = JobType.objects.filter( Q(name__contains='Build') | Q(name__contains='build')) build_results = Job.objects.filter( push=push, tier__lte=2, job_type__in=build_types, ).select_related('machine_platform', 'taskcluster_metadata') result, failures = get_job_results(build_results, 'busted') if parent_push: mark_failed_in_parent(failures, get_build_failures(parent_push)[1]) return (result, failures)