Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f3acc6a57d57923fe2b62fe2b8af6489d5d4f1fd
      
https://github.com/WebKit/WebKit/commit/f3acc6a57d57923fe2b62fe2b8af6489d5d4f1fd
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M Tools/CISupport/build-webkit-org/steps.py
    M Tools/CISupport/build-webkit-org/steps_unittest.py

  Log Message:
  -----------
  [CISupport][build.webkit.org] build step clean-git-index-lock is not working
https://bugs.webkit.org/show_bug.cgi?id=282366

Reviewed by Jonathan Bedard.

The build step `clean-git-index-lock` was not working as expected because on the
function `getResultSummary()` the value of the property `got_revision` is not
defined when the git command fails, so that was causing a Python exception later
when trying to extract a substring from a None value.

So the result is that when the step `clean-and-update-working-directory` failed
because git returned an error then the whole build ended with a build exception.

On top of that, the function `getResultSummary()` is not the proper place to add
more steps after the current one because this function gets executed at least 2
times at the end of the build and that results in adding the next step twice.

The proper place to inject a new step after the current one is at the `run()`
function that is guaranteed to only run once.

However, inside this `run()` function the logic was initially not working 
because
Buildbot runs the git command with `abandonOnFailure=True` which means that when
the command fails instead of returning a status of FAILURE it raises an 
exception
of type `BuildStepFailed`. Fix that by catching this exception.

On top of that set a property once the `clean-git-index-lock` runs to avoid 
running
it again if step `clean-and-update-working-directory` fails again, that way we
avoid and endless loop that could trigger in a corner case where git keeps 
failing
even after deleting the `index.lock` file.

* Tools/CISupport/build-webkit-org/steps.py:
(CheckOutSource.getResultSummary):
(CheckOutSource.run):
(CleanUpGitIndexLock.run):
* Tools/CISupport/build-webkit-org/steps_unittest.py:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to