Bug 299395
| Summary: | [Tools][git-webkit] Wrong identifiers for commits on some buildbot workers after the upgrade to 4.3.0 | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Carlos Alberto Lopez Perez <clopez> |
| Component: | Tools / Tests | Assignee: | Carlos Alberto Lopez Perez <clopez> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | aakash_jain, ap, ryanhaddad, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Carlos Alberto Lopez Perez
Since the buildbot server was updated to 4.3.0 at 300152@main there is an issue with the workers than run on the Nightly scheduler: now when they update the WebKit instead of getting an identifier in the format number@main they get one in the format number.70@(HEAD detached at FETCH_HEAD)
See an example:
* before the upgrade: https://build.webkit.org/#/builders/1322/builds/352 (on step 3 it says: Updated to 300140@main)
* after the upgrade: https://build.webkit.org/#/builders/1322/builds/353 (on step 3 it says: Updated to 300140.70@(HEAD detached at FETCH_HEAD))
The thing is that this identifier is later used in the filename of the built-product that is uploaded, and they are now generating built-products with an unexpected format in the filename, causing problems downstream.
Before the upgrade the bots where running this on clean-and-update-working-directory (from https://build.webkit.org/#/builders/1322/builds/352):
git --version
git fetch -f -t https://github.com/WebKit/WebKit.git HEAD --progress
git reset --hard FETCH_HEAD --
git rev-parse HEAD
git remote set-url --push origin PUSH_DISABLED_BY_ADMIN
python3 Tools/Scripts/git-webkit find 4813b6f2b71ae2bfc58400facb47494a58bf4c9b
After the upgrade the bots are running this on clean-and-update-working-directory (from https://build.webkit.org/#/builders/1322/builds/353):
git --version
git fetch -f --progress https://github.com/WebKit/WebKit.git HEAD
git checkout -f FETCH_HEAD
git rev-parse HEAD
git remote set-url --push origin PUSH_DISABLED_BY_ADMIN
python3 Tools/Scripts/git-webkit find 229760706c12a975b3f07f98c2c53a90abcbb42c
# above revision come from self.getProperty('got_revision')
The issue can be also reproduced by ordering a manual build on any of the other workers (on the standard scheduler).
The commit causing this regression is this one on buildbot: https://github.com/buildbot/buildbot/commit/bd37daa80ef4309e6302d4d5dda960ff79faf744
The problem is that by doing with "git checkout -f FETCH_HEAD" instead of "git reset --hard FETCH_HEAD --" that does not update the "main" or the "remotes/origin/main" references.
Previously the "git reset" command was updating "main" to FETCH_HEAD but now it doesn't do that anymore, it is simply checking out that commit (HEAD detached)
And "remotes/origin/main" never gets updated because of the way buildbot fetches the code: it does "git fetch https://github/repo" instead of "git fetch" or "git fetch origin". So git fetches that repo and stores the pointer to the most recent commit on the default branch on FETCH_HEAD but it doesn't update the remotes/origin references because it was not told to "fetch origin" but to just fetch a random URL.
So this causes that git-webkit is unable to guess if the commit on FETCH_HEAD belongs to main and then it reports as an identifier detached.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Carlos Alberto Lopez Perez
Pull request: https://github.com/WebKit/WebKit/pull/51261
Radar WebKit Bug Importer
<rdar://problem/161684989>
EWS
Committed 301318@main (d6777165fca3): <https://commits.webkit.org/301318@main>
Reviewed commits have been landed. Closing PR #51261 and removing active labels.