Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 07098ea5d9313615068f339e7f7471b21bfaa9ba https://github.com/WebKit/WebKit/commit/07098ea5d9313615068f339e7f7471b21bfaa9ba Author: Jonathan Bedard <jbed...@apple.com> Date: 2023-03-30 (Thu, 30 Mar 2023)
Changed paths: M Tools/CISupport/ews-build/events.py A Tools/CISupport/ews-build/events_unittest.py M Tools/CISupport/runUnittests.py Log Message: ----------- [ews-build.webkit.org] Classify commits in pull-requests https://bugs.webkit.org/show_bug.cgi?id=254680 rdar://107381451 Reviewed by Aakash Jain. Many EWS steps preform rudimentry and divergent classification of commits. For example, merge-queue preforms less validation on gardening commits and reverts. The WebKit Project has a concept of 'commit classification' that `git-webkit` uses to determine which changes on a given branch are novel. To pave the way for EWS to use the 'commit classification' concept, buildrequests need 'classification' as one of their properties. * Tools/CISupport/ews-build/events.py: (logging_disabled.__exit__): (CommitClassifier): Add a class which encapsulates the concept of a commit classification. (CommitClassifier.HeaderFilter): Add class encapsulating both a regex and fuzzy match filter to search the title of commits with. (GitHubEventHandlerNoEdits.commit_classes): Return a cached list of all CommitClassifier bjects for the WebKit project. (GitHubEventHandlerNoEdits._get_commit_msg): Clarify why we're implementing our own "_get_commit_messages" and (delibrately) disabling this one. (GitHubEventHandlerNoEdits._get_commit_messages): Return a list of the commit messages for the commits in this pull request. (GitHubEventHandlerNoEdits.classifiy): Given a commit message and list of changed files, return a string representing the CommitClassifier of the provided commit message, if the commit message matches one of our commit classes. (GitHubEventHandlerNoEdits.handle_pull_request): Before returning a change, determine the classification of all commits in the pull-request, so that information can be included in properties. * Tools/CISupport/ews-build/events_unittest.py: Added. * Tools/CISupport/runUnittests.py: (main): Explicitly import rapidfuzz, since that is an uncommon dependency. Canonical link: https://commits.webkit.org/262332@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes