⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 259811 in webkit


Ignore:
Timestamp:
Apr 9, 2020, 12:00:37 PM (6 years ago)
Author:
Jonathan Bedard
Message:

Buildbot: Force crash log submission after each test run
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>

Reviewed by Aakash Jain and Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/factories.py:

(TestFactory.init): Add steps triggering crash uploads and waiting for crash
collection to quiesce.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(TriggerCrashCollection): Add step to trigger crash collection.
(WaitForCrashCollection): Add step to wait for for crash collection process to quiesce.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(BuildStepsConstructorTest): Update Apple testing steps to include crash log collection.

  • BuildSlaveSupport/ews-build/factories.py:

(TestFactory):
(TestFactory.init): Add willTriggerCrashLogSubmission variable.
(iOSTestsFactory):
(macOSWK1Factory):
(macOSWK2Factory):

  • BuildSlaveSupport/ews-build/factories_unittest.py:

(TestLayoutTestsFactory.test_macos_wk1_release_factory):
(TestLayoutTestsFactory.test_macos_wk1_debug_factory):
(TestLayoutTestsFactory.test_macos_wk2_factory):
(TestLayoutTestsFactory.test_ios_wk2_factory):

  • BuildSlaveSupport/ews-build/steps.py:

(TriggerCrashLogSubmission):
(WaitForCrashCollection):

  • BuildSlaveSupport/trigger-crash-collection: Added.
  • BuildSlaveSupport/wait-for-crash-collection: Added.

(pid_for_name): Given a process name, return the PID for that process.
(cpu_percentage): Return float representing the current CPU usage of the provided PID.
(main):

Location:
trunk/Tools
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/factories.py

    r256535 r259811  
    8585            self.addStep(InstallWinCairoDependencies())
    8686
     87        if platform.startswith('mac') or platform.startswith('ios-simulator'):
     88            self.addStep(WaitForCrashCollection())
     89
    8790        if self.JSCTestClass:
    8891            self.addStep(self.JSCTestClass())
     
    102105        if not platform.startswith('win'):
    103106            self.addStep(RunDashboardTests())
     107
     108        if platform.startswith('mac') or platform.startswith('ios-simulator'):
     109            self.addStep(TriggerCrashLogSubmission())
     110
    104111        if self.LayoutTestClass:
    105112            self.addStep(ArchiveTestResults())
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py

    r258014 r259811  
    1 # Copyright (C) 2017 Apple Inc. All rights reserved.
     1# Copyright (C) 2017-2020 Apple Inc. All rights reserved.
    22#
    33# Redistribution and use in source and binary forms, with or without
     
    141141
    142142
     143class TriggerCrashLogSubmission(shell.Compile):
     144    name = "trigger-crash-log-submission"
     145    description = ["triggering crash log submission"]
     146    descriptionDone = ["triggered crash log submission"]
     147    command = ["python", "./Tools/BuildSlaveSupport/trigger-crash-log-submission"]
     148
     149
     150class WaitForCrashCollection(shell.Compile):
     151    name = "wait-for-crash-collection"
     152    description = ["waiting for crash collection to quiesce"]
     153    descriptionDone = ["crash collection has quiesced"]
     154    command = ["python", "./Tools/BuildSlaveSupport/wait-for-crash-collection", "--timeout", str(5 * 60)]
     155
     156
    143157class CleanBuildIfScheduled(shell.Compile):
    144158    name = "delete WebKitBuild directory"
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py

    r257889 r259811  
    529529    'Apple-Catalina-Debug-JSC-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'jscore-test'],
    530530    'Apple-Catalina-Debug-Test262-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'test262-test'],
    531     'Apple-Catalina-Debug-WK1-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    532     'Apple-Catalina-Debug-WK2-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    533     'Apple-Catalina-Debug-WK2-WebGL-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    534     'Apple-Catalina-Debug-WK2-GPUProcess-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     531    'Apple-Catalina-Debug-WK1-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     532    'Apple-Catalina-Debug-WK2-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     533    'Apple-Catalina-Debug-WK2-WebGL-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     534    'Apple-Catalina-Debug-WK2-GPUProcess-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    535535    'Apple-Catalina-LLINT-CLoop-BuildAndTest': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'webkit-jsc-cloop-test'],
    536536    'Apple-Catalina-Release-Build': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    537537    'Apple-Catalina-Release-JSC-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'jscore-test'],
    538538    'Apple-Catalina-Release-Test262-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'test262-test'],
    539     'Apple-Catalina-Release-WK1-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    540     'Apple-Catalina-Release-WK2-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     539    'Apple-Catalina-Release-WK1-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     540    'Apple-Catalina-Release-WK2-Tests': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    541541    'Apple-Catalina-Release-WK2-Perf': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'perf-test'],
    542542
    543543    'Apple Mojave Debug (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    544     'Apple Mojave Debug WK1 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    545     'Apple Mojave Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     544    'Apple Mojave Debug WK1 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     545    'Apple Mojave Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    546546    'Apple Mojave Release (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    547     'Apple Mojave Release WK1 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    548     'Apple Mojave Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     547    'Apple Mojave Release WK1 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     548    'Apple Mojave Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'lldb-webkit-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    549549    'Apple Mojave Release (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    550550
    551551    'Apple iOS 13 Release (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit'],
    552552    'Apple iOS 13 Simulator Release (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    553     'Apple iOS 13 Simulator Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     553    'Apple iOS 13 Simulator Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    554554
    555555    'Apple iOS 13 Simulator Debug (Build)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'],
    556     'Apple iOS 13 Simulator Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    557 
    558     'Apple iPadOS 13 Simulator Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
    559     'Apple iPadOS 13 Simulator Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'],
     556    'Apple iOS 13 Simulator Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     557
     558    'Apple iPadOS 13 Simulator Release WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
     559    'Apple iPadOS 13 Simulator Debug WK2 (Tests)': ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'wait-for-crash-collection', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'trigger-crash-log-submission', 'archive-test-results', 'upload', 'MasterShellCommand'],
    560560
    561561    'JSCOnly Linux ARMv7 Thumb2 Release': ['configure build', 'svn', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'jscore-test'],
  • trunk/Tools/BuildSlaveSupport/ews-build/factories.py

    r259718 r259811  
    3030                   InstallWpeDependencies, KillOldProcesses, PrintConfiguration, PushCommitToWebKitRepo,
    3131                   RunAPITests, RunBindingsTests, RunBuildWebKitOrgUnitTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests,
    32                    RunResultsdbpyTests, RunJavaScriptCoreTests, RunWebKit1Tests, RunWebKitPerlTests,
    33                    RunWebKitPyPython2Tests, RunWebKitPyPython3Tests, RunWebKitTests, SetBuildSummary, UpdateWorkingDirectory,
    34                    ValidatePatch, ValidateChangeLogAndReviewer, ValidateCommiterAndReviewer)
     32                   RunResultsdbpyTests, RunJavaScriptCoreTests, RunWebKit1Tests, RunWebKitPerlTests, RunWebKitPyPython2Tests,
     33                   RunWebKitPyPython3Tests, RunWebKitTests, SetBuildSummary, TriggerCrashLogSubmission, UpdateWorkingDirectory,
     34                   ValidatePatch, ValidateChangeLogAndReviewer, ValidateCommiterAndReviewer, WaitForCrashCollection)
    3535
    3636
     
    107107    LayoutTestClass = None
    108108    APITestClass = None
     109    willTriggerCrashLogSubmission = False
    109110
    110111    def getProduct(self):
     
    117118            self.addStep(InstallGtkDependencies())
    118119        self.getProduct()
     120        if self.willTriggerCrashLogSubmission:
     121            self.addStep(WaitForCrashCollection())
    119122        self.addStep(KillOldProcesses())
    120123        if self.LayoutTestClass:
    121124            self.addStep(self.LayoutTestClass())
    122             self.addStep(SetBuildSummary())
    123125        if self.APITestClass:
    124126            self.addStep(self.APITestClass())
     127        if self.willTriggerCrashLogSubmission:
     128            self.addStep(TriggerCrashLogSubmission())
     129        if self.LayoutTestClass:
     130            self.addStep(SetBuildSummary())
    125131
    126132
     
    144150class iOSTestsFactory(TestFactory):
    145151    LayoutTestClass = RunWebKitTests
     152    willTriggerCrashLogSubmission = True
    146153
    147154
     
    152159class macOSWK1Factory(TestFactory):
    153160    LayoutTestClass = RunWebKit1Tests
     161    willTriggerCrashLogSubmission = True
    154162
    155163    def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, checkRelevance=False, **kwargs):
     
    159167class macOSWK2Factory(TestFactory):
    160168    LayoutTestClass = RunWebKitTests
     169    willTriggerCrashLogSubmission = True
    161170
    162171
  • trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py

    r259718 r259811  
    217217            _BuildStepFactory(steps.DownloadBuiltProduct),
    218218            _BuildStepFactory(steps.ExtractBuiltProduct),
     219            _BuildStepFactory(steps.WaitForCrashCollection),
    219220            _BuildStepFactory(steps.KillOldProcesses),
    220221            _BuildStepFactory(steps.RunWebKit1Tests),
     222            _BuildStepFactory(steps.TriggerCrashLogSubmission),
    221223            _BuildStepFactory(steps.SetBuildSummary),
    222224        ])
     
    234236            _BuildStepFactory(steps.DownloadBuiltProduct),
    235237            _BuildStepFactory(steps.ExtractBuiltProduct),
     238            _BuildStepFactory(steps.WaitForCrashCollection),
    236239            _BuildStepFactory(steps.KillOldProcesses),
    237240            _BuildStepFactory(steps.RunWebKit1Tests),
     241            _BuildStepFactory(steps.TriggerCrashLogSubmission),
    238242            _BuildStepFactory(steps.SetBuildSummary),
    239243        ])
     
    250254            _BuildStepFactory(steps.DownloadBuiltProduct),
    251255            _BuildStepFactory(steps.ExtractBuiltProduct),
    252             _BuildStepFactory(steps.KillOldProcesses),
    253             _BuildStepFactory(steps.RunWebKitTests),
     256            _BuildStepFactory(steps.WaitForCrashCollection),
     257            _BuildStepFactory(steps.KillOldProcesses),
     258            _BuildStepFactory(steps.RunWebKitTests),
     259            _BuildStepFactory(steps.TriggerCrashLogSubmission),
    254260            _BuildStepFactory(steps.SetBuildSummary),
    255261        ])
     
    266272            _BuildStepFactory(steps.DownloadBuiltProduct),
    267273            _BuildStepFactory(steps.ExtractBuiltProduct),
    268             _BuildStepFactory(steps.KillOldProcesses),
    269             _BuildStepFactory(steps.RunWebKitTests),
     274            _BuildStepFactory(steps.WaitForCrashCollection),
     275            _BuildStepFactory(steps.KillOldProcesses),
     276            _BuildStepFactory(steps.RunWebKitTests),
     277            _BuildStepFactory(steps.TriggerCrashLogSubmission),
    270278            _BuildStepFactory(steps.SetBuildSummary),
    271279        ])
  • trunk/Tools/BuildSlaveSupport/ews-build/steps.py

    r259809 r259811  
    16341634
    16351635
     1636class TriggerCrashLogSubmission(shell.Compile):
     1637    name = 'trigger-crash-log-submission'
     1638    description = ['triggering crash log submission']
     1639    descriptionDone = ['Triggered crash log submission']
     1640    command = ['python', 'Tools/BuildSlaveSupport/trigger-crash-log-submission']
     1641
     1642    def __init__(self, **kwargs):
     1643        super(TriggerCrashLogSubmission, self).__init__(timeout=60, logEnviron=False, **kwargs)
     1644
     1645    def getResultSummary(self):
     1646        if self.results in [FAILURE, EXCEPTION]:
     1647            return {u'step': u'Failed to trigger crash log submission'}
     1648        return shell.Compile.getResultSummary(self)
     1649
     1650
     1651class WaitForCrashCollection(shell.Compile):
     1652    name = 'wait for crash collection'
     1653    description = ['waiting-for-crash-collection-to-quiesce']
     1654    descriptionDone = ['Crash collection has quiesced']
     1655    command = ['python', 'Tools/BuildSlaveSupport/wait-for-crash-collection', '--timeout', str(5 * 60)]
     1656
     1657    def __init__(self, **kwargs):
     1658        super(WaitForCrashCollection, self).__init__(timeout=6 * 60, logEnviron=False, **kwargs)
     1659
     1660    def getResultSummary(self):
     1661        if self.results in [FAILURE, EXCEPTION]:
     1662            return {u'step': u'Crash log collection process still running'}
     1663        return shell.Compile.getResultSummary(self)
     1664
     1665
    16361666class RunWebKitTests(shell.Test):
    16371667    name = 'layout-tests'
  • trunk/Tools/ChangeLog

    r259809 r259811  
     12020-04-09  Jonathan Bedard  <jbedard@apple.com>
     2
     3        Buildbot: Force crash log submission after each test run
     4        https://bugs.webkit.org/show_bug.cgi?id=210202
     5        <rdar://problem/60508929>
     6
     7        Reviewed by Aakash Jain and Alexey Proskuryakov.
     8
     9        * BuildSlaveSupport/build.webkit.org-config/factories.py:
     10        (TestFactory.__init__): Add steps triggering crash uploads and waiting for crash
     11        collection to quiesce.
     12        * BuildSlaveSupport/build.webkit.org-config/steps.py:
     13        (TriggerCrashCollection): Add step to trigger crash collection.
     14        (WaitForCrashCollection): Add step to wait for for crash collection process to quiesce.
     15        * BuildSlaveSupport/build.webkit.org-config/steps.py:
     16        (BuildStepsConstructorTest): Update Apple testing steps to include crash log collection.
     17        * BuildSlaveSupport/ews-build/factories.py:
     18        (TestFactory):
     19        (TestFactory.__init__): Add willTriggerCrashLogSubmission variable.
     20        (iOSTestsFactory):
     21        (macOSWK1Factory):
     22        (macOSWK2Factory):
     23        * BuildSlaveSupport/ews-build/factories_unittest.py:
     24        (TestLayoutTestsFactory.test_macos_wk1_release_factory):
     25        (TestLayoutTestsFactory.test_macos_wk1_debug_factory):
     26        (TestLayoutTestsFactory.test_macos_wk2_factory):
     27        (TestLayoutTestsFactory.test_ios_wk2_factory):
     28        * BuildSlaveSupport/ews-build/steps.py:
     29        (TriggerCrashLogSubmission):
     30        (WaitForCrashCollection):
     31        * BuildSlaveSupport/trigger-crash-collection: Added.
     32        * BuildSlaveSupport/wait-for-crash-collection: Added.
     33        (pid_for_name): Given a process name, return the PID for that process.
     34        (cpu_percentage): Return float representing the current CPU usage of the provided PID.
     35        (main):
     36
    1372020-04-09  Aakash Jain  <aakash_jain@apple.com>
    238
Note: See TracChangeset for help on using the changeset viewer.