Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dc1f9b0e53f5f3261c9ca1c95f9ce0a60c3a0c10
https://github.com/WebKit/WebKit/commit/dc1f9b0e53f5f3261c9ca1c95f9ce0a60c3a0c10
Author: Ryan Haddad <[email protected]>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M Tools/CISupport/ews-build/factories.py
M Tools/CISupport/ews-build/factories_unittest.py
M Tools/CISupport/ews-build/steps.py
M Tools/CISupport/ews-build/steps_unittest.py
Log Message:
-----------
EWS should skip building if a pull request contains conflict markers
https://bugs.webkit.org/show_bug.cgi?id=315805
rdar://178093806
Reviewed by Aakash Jain.
While uploading a PR with conflict markers has always been possible, there is
now automation
that opens pull requests for cherry-picks that require conflict resolution by
change authors.
This can result EWS builds and tests getting kicked off on changes with
conflict markers,
causing spurious failures and wasted resources.
This change adds a ValidateChangeContent step that runs right after the pull
request
is checked out, diffs the PR against its base, and scans added lines for
column-0 conflict
markers (e.g. <<<<<<< , >>>>>>> , and |||||||). The bare ======= separator is
intentionally
ignored to avoid Markdown file false positives. The step status summarizes the
distinct files
involved and the full file:line list is written to the stdio log. On the
pre-commit
build/test/style/safercpp queues it fails with that summary and halts before
compiling.
On the merge queue it also comments a formatted list of the conflicted files
and applies the
merging-blocked label. A failed git diff is treated as SKIPPED to avoid
blocking on transient
ref-resolution errors.
* Tools/CISupport/ews-build/steps.py:
(ValidateChangeContent): Added build step.
* Tools/CISupport/ews-build/factories.py: Wired the step in after
CheckOutPullRequest in
Factory, StyleFactory, SaferCPPStaticAnalyzerFactory, and MergeQueueFactoryBase.
* Tools/CISupport/ews-build/factories_unittest.py: Updated expected_steps for
the new step.
* Tools/CISupport/ews-build/steps_unittest.py: Added TestValidateChangeContent
and
TestConflictMarkersInDiff.
Canonical link: https://commits.webkit.org/314375@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications