Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 07098ea5d9313615068f339e7f7471b21bfaa9ba
https://github.com/WebKit/WebKit/commit/07098ea5d9313615068f339e7f7471b21bfaa9ba
Author: Jonathan Bedard <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes