Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8d7dde2b9a29de9204dbba36a839a81d1c5504ef
      
https://github.com/WebKit/WebKit/commit/8d7dde2b9a29de9204dbba36a839a81d1c5504ef
  Author: Ryan Haddad <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M Makefile.shared
    M Tools/CISupport/ews-build/steps.py
    M Tools/CISupport/ews-build/steps_unittest.py
    M Tools/Scripts/build-and-analyze

  Log Message:
  -----------
  [SaferCPP] Stop analysis when compilation fails to avoid false positives
https://bugs.webkit.org/show_bug.cgi?id=311433
rdar://174030151

Reviewed by Ryosuke Niwa.

When compilation failed, `make analyze` still returned 0 (due to `|| true`), so 
build-and-analyze
continued on to generate-static-analysis-archive and the SaferCPP EWS step 
compared an incomplete
analyzer output against baseline, spuriously blaming the PR author for 
pre-existing failures.

The analyzer emits findings as warnings, so a successful analyze run that finds 
issues
still exits with rc=0. A non-zero exit code only signals a real compilation 
failure. Propagating
it end-to-end lets the existing EWS revert/without-change path correctly 
attribute the failure
instead of the author.

* Makefile.shared:
(analyze): Remove `|| true` so a compilation failure propagates. On success the
report-indexing loop still runs as before.
* Tools/Scripts/build-and-analyze:
(main): Return early with the non-zero return code when a command fails, so
generate-static-analysis-archive is skipped after a failed compile.
* Tools/CISupport/ews-build/steps.py:
(ScanBuild.run): Treat a non-zero return code as failure, not just a missing
`ANALYZE SUCCEEDED` string, to catch partial builds where an early target
succeeds but a later one fails to compile.
* Tools/CISupport/ews-build/steps_unittest.py:
(TestScanBuild.test_compile_failure): Added.
(TestScanBuild.test_partial_compile_failure): Added.

Canonical link: https://commits.webkit.org/317543@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to