[webkit-changes] [WebKit/WebKit] 44f912: Use sh -o pipefail for all shell commands in Buildbot
Sam Sneddon
noreply at github.com
Mon Aug 5 18:56:18 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 44f9121233990d689cfd6d8e306a7e91f1ef225a
https://github.com/WebKit/WebKit/commit/44f9121233990d689cfd6d8e306a7e91f1ef225a
Author: Sam Sneddon <gsnedders at apple.com>
Date: 2024-08-05 (Mon, 05 Aug 2024)
Changed paths:
M Tools/CISupport/build-webkit-org/steps.py
M Tools/CISupport/build-webkit-org/steps_unittest.py
M Tools/CISupport/ews-build/steps.py
M Tools/CISupport/ews-build/steps_unittest.py
Log Message:
-----------
Use sh -o pipefail for all shell commands in Buildbot
https://bugs.webkit.org/show_bug.cgi?id=276081
rdar://problem/130908663
Reviewed by Elliott Williams.
We've had multiple bugs caused by pipelines exiting cleanly despite
commands within them failing, for example the above linked bug 276081
(where run-webkit-tests exited uncleanly but filter-test-logs exited
cleanly, thus we were able to totally break run-webkit-tests without
noticing), and also bug 271808 (where build-webkit exited uncleanly
but filter-build-webkit exited cleanly, thus we didn't notice the bot
being in a bogus configuration and no build occurring).
To avoid this, this makes us always pass -o pipefail to the shell we
are creating. This is new in POSIX 2024, but commonly `sh` is provided
by `bash` or `zsh` which have long supported the `pipefail` option,
even when invoked as `sh` (and in POSIX-compliant mode). This is
potentially risky if we happen to have any bots configured to use
older versions of, e.g., dash, but I do not believe we do.
* Tools/CISupport/build-webkit-org/steps.py:
(ShellMixin.shell_command):
(CompileWebKit):
(CompileWebKit.start):
(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.run):
(RunWebDriverTests):
(RunWebDriverTests.run):
* Tools/CISupport/build-webkit-org/steps_unittest.py:
(TestCompileWebKit.test_success_architecture):
* Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command):
* Tools/CISupport/ews-build/steps_unittest.py:
(test_success):
(test_warnings):
(test_flaky_failures_in_first_run):
(test_first_run_failed_unexpectedly):
(test_too_many_flaky_failures_in_first_and_second_run):
(TestRunWebKitTestsInStressMode.test_success_wk1):
(TestRunWebKitTestsInStressMode.test_failure):
(TestRunWebKitTestsInStressMode.test_success):
(TestRunWebKitTestsInStressMode.test_success_additional_arguments):
(TestRunWebKitTestsInStressGuardmallocMode.test_success):
(TestRunWebKitTestsInStressGuardmallocMode.test_failure):
(TestRunWebKitTestsWithoutChange.test_success):
(TestRunWebKitTestsWithoutChange.test_run_subtest_tests_success):
(TestRunWebKitTestsWithoutChange.test_run_subtest_tests_removes_skipped_that_fails):
(TestRunWebKitTestsWithoutChange.test_run_subtest_tests_fail):
(TestRunWebKitTestsWithoutChange.test_run_subtest_tests_limit_exceeded):
(TestRunWebKitTestsWithoutChange.test_failure):
(TestRunWebKit1Tests.test_success):
(TestRunWebKit1Tests.test_failure):
(TestRunWebKitTestsRedTree.test_success):
(TestRunWebKitTestsRedTree.test_set_properties_when_executed_scope_this_class):
(TestRunWebKitTestsRepeatFailuresRedTree.test_success):
(TestRunWebKitTestsRepeatFailuresRedTree.test_set_properties_when_executed_scope_this_class):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_success):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_step_with_change_did_timeout):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_set_properties_when_executed_scope_this_class):
(TestUpdateWorkingDirectory.test_success):
(TestUpdateWorkingDirectory.test_success_branch):
(TestUpdateWorkingDirectory.test_success_remote):
(TestUpdateWorkingDirectory.test_success_remote_branch):
(TestCheckOutPullRequest.test_success):
(TestCheckOutPullRequest.test_success_apple):
(TestCheckOutPullRequest.test_success_integration_remote):
(TestCheckOutPullRequest.test_success_wincairo):
(TestCheckOutPullRequest.test_failure):
(TestGetTestExpectationsBaseline.test_success):
(TestGetTestExpectationsBaseline.test_additional_args):
(TestGetUpdatedTestExpectations.test_success):
(TestGetUpdatedTestExpectations.test_additional_args):
Canonical link: https://commits.webkit.org/281869@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list