Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f9a50d37cc182e86a0814fc51163cbeed9c54eaa
      
https://github.com/WebKit/WebKit/commit/f9a50d37cc182e86a0814fc51163cbeed9c54eaa
  Author: Elliott Williams <[email protected]>
  Date:   2026-05-15 (Fri, 15 May 2026)

  Changed paths:
    A Tools/Scripts/measure-build-time
    A Tools/Scripts/webkitpy/scripts/__init__.py
    A Tools/Scripts/webkitpy/scripts/measure_build_time_unittest.py

  Log Message:
  -----------
  [Build perf] Add harness script for running build commands and reporting to 
perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=314769
rdar://177021487

Reviewed by Ryan Haddad.

`measure-build-time` takes a build command and runs it through various
build tests.

As base cases, `clean` and `null` are supported, with the infrastructure
in place to add more. `clean` deletes the build directory before
building, and `null` does nothing.

CI will invoke this script like:

    python3 Tools/Scripts/measure-build-time \
        --make \
        --metric-key BuildTime-Debug \
        --output build-time-results.json

and emit the results to the perf dashboard.

Add an end-to-end test in webkitpy that exercises the script.

* Tools/Scripts/measure-build-time: Added.
(Task):
(Task.__init__):
(Task.__enter__):
(Task.__exit__):
(Task.run):
(CleanBuild):
(CleanBuild.__enter__):
(NullBuild):
(sanitize_phase_name):
(parse_timing_summary):
(build_type_result):
(run_build):
(run_test):
(main):
* Tools/Scripts/webkitpy/scripts/__init__.py: Added.
* Tools/Scripts/webkitpy/scripts/measure_build_time_unittest.py: Added.
(MeasureBuildTimeTest):
(MeasureBuildTimeTest._run_script):
(MeasureBuildTimeTest.test_clean_and_null_build):
(MeasureBuildTimeTest.test_timing_summary_parsing):

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



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

Reply via email to