Mercurial failure while applying patch wasn't aborted
Categories
(Conduit Graveyard :: Transplant, defect, P2)
Tracking
(Not tracked)
People
(Reporter: bugzilla, Assigned: glob)
Details
(Keywords: conduit-triaged)
Attachments
(3 files)
I was trying to land bug 1618867, which renamed a bunch of tests and updated the corresponding .ini
s. The patch appeared correct on Phabricator and on try. When I landed it, only a single file was pushed to autoland.
The push was backed out several times because of this. I thought it was something up with a dependency on Phabricator, so I downloaded the raw diff, opened an entirely new revision with no dependencies, and landed that. That's the revision linked above, and it was also backed out with the same issue.
Reporter | ||
Comment 1•4 years ago
|
||
I should note that the most recent version of the Phabricator revision shows only a single file changed. That's because that was the state of the patch when it was backed out. If you roll back the history on Phabricator to before the landing, you can see all the changes. I linked the rolled-back version in comment 0.
Here's the transcript from Transplant:
D65808 $ hg identify upstream -r default
D65808 > 0d3c7f7727b4
D65808 $ hg strip --no-backup -r 'not public()'
D65808 > 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg --quiet revert --no-backup --all
D65808 $ hg purge --all
D65808 $ hg pull upstream
D65808 > pulling from https://hg.mozilla.org/integration/autoland
D65808 > searching for changes
D65808 > no changes found
D65808 $ hg rebase --abort -r 0d3c7f7727b4
D65808 > abort: no rebase in progress
D65808 $ hg update --clean -r 0d3c7f7727b4
D65808 > 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg status --modified --added --removed --deleted --unknown --ignored
D65808 $ hg update 0d3c7f7727b4
D65808 > 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg import -s 95 --no-commit /tmp/tmp63bS2M
D65808 > applying /tmp/tmp63bS2M
D65808 > ../../../../repos/mozreview-gecko/browser/components/urlbar/tests/browser/browser_URLBarSetURI.js not tracked!
D65808 > abort: source file 'browser/components/urlbar/tests/browser/browser_URLBarSetURI.js' does not exist
D65808 $ hg commit --date '1583775001 +0000' --user 'Harry Twyford <htwyford@mozilla.com>' --landing_system lando --logfile /tmp/tmpQwArn0
D65808 $ hg log -r . -T '{node}'
D65808 > ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 $ hg push -r tip upstream
D65808 > pushing to ssh://hg.mozilla.org/integration/autoland
D65808 > searching for changes
D65808 > remote: adding changesets
D65808 > remote: adding manifests
D65808 > remote: adding file changes
D65808 > remote: autoland push detected
D65808 > remote: recorded push in pushlog
D65808 > remote: added 1 changesets with 1 changes to 1 files
D65808 > remote:
D65808 > remote: View your change here:
D65808 > remote: https://hg.mozilla.org/integration/autoland/rev/ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 > remote:
D65808 > remote: Follow the progress of your build on Treeherder:
D65808 > remote: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 > remote: recorded changegroup in replication log in 0.007s
D65808 $ hg strip --no-backup -r 'not public()'
D65808 > abort: empty revision set
D65808 $ hg --quiet revert --no-backup --all
D65808 $ hg purge --all
Manually applying the patch from Phabricator also fails:
dev/mozilla-central$ hg co 0d3c7f7727b4
518 files updated, 0 files merged, 37 files removed, 0 files unresolved
dev/mozilla-central$ hg import -s 95 --no-commit ~/Desktop/D65808.patch
applying /Users/byron/Desktop/D65808.patch
patching file browser/components/urlbar/tests/browser/browser.ini
Hunk #4 FAILED at 149
1 out of 4 hunks FAILED -- saving rejects to file browser/components/urlbar/tests/browser/browser.ini.rej
browser/components/urlbar/tests/browser/browser_URLBarSetURI.js not tracked!
abort: source file 'browser/components/urlbar/tests/browser/browser_URLBarSetURI.js' does not exist
Transplant should have bubbled up this failure rather the continuing with the landing process.
The actual failure is correct: the patch renamed browser/components/urlbar/tests/browser/browser_URLBarSetURI.js
to browser_setURI.js
however browser_URLBarSetURI.js
does not exist.
Tests in test-autoland-merge are replicated in
test-post-autoland-job-from-patch
test-post-autoland-job-from-patch tests code paths that are not
exercised by Lando. Removing the code completely at this point isn't
necessary; but removing the tests means we don't have to keep them up to
date as the test harness changes.
Globbing over output in tests using Mercurial's test harness is
cumbersome, particularly with respect to testing JSON. Reformat the
output from autolandctl poll
to show a pretty-formatted JSON, allowing
(glob)
patterns in the test cases to match a smaller amount of text.
Depends on D66364
https://github.com/mozilla-conduit/autoland-transplant/commit/24f5b26c67232a214514d668582ef9d211c3e35a
https://github.com/mozilla-conduit/autoland-transplant/commit/3637643480d26d998baeee712a58c62176452269
https://github.com/mozilla-conduit/autoland-transplant/commit/1f96629aef61a22a21053f118392872838828655
deployed to production.
Updated•1 month ago
|
Description
•