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