Bug 49798
Summary: | webkit-patch build should never fail due to local commits | ||
---|---|---|---|
Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | abarth, ossy |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | OS X 10.5 | ||
Bug Depends on: | 33378, 50766 | ||
Bug Blocks: |
Eric Seidel (no email)
webkit-patch build should never fail due to local commits
http://queues.webkit.org/results/6204049
Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=eseidel-cq-sl', 'build', '--no-clean', '--no-update', '--build-style=both']" exit_code: 1
ERROR: Working directory has local commits, pass --force-clean to continue.
That seems wrong.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
It occured again on the CQ bot. :( The git svn dcommit failed,
but the local commit remained and it made webkit-patch build fail
http://queues.webkit.org/results/6372028
-----------------------------------------
Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=abarth-cq-sl', 'land-attachment', '--force-clean', '--ignore-builders', '--non-interactive', '--parent-command=commit-queue', 74673]" exit_code: 2
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=74673&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=49973&ctype=xml
Processing 1 patch from 1 bug.
Cleaning working directory
Updating working directory
Processing patch 74673 from bug 49973.
Parsing ChangeLog: /Users/abarth/git/webkit-queue/WebCore/ChangeLog
Parsing ChangeLog: /Users/abarth/git/webkit-queue/WebKit/qt/ChangeLog
Parsing ChangeLog: /Users/abarth/git/webkit-queue/WebKit2/ChangeLog
Failed to run "[u'git', u'svn', u'dcommit']" exit_code: 1
Committing to http://svn.webkit.org/repository/webkit/trunk ...
M WebCore/ChangeLog
RA layer request failed: Server sent unexpected return value (500 Internal Server Error) in response to PUT request for '/repository/webkit/!svn/wrk/2a76944f-3c7f-41d5-9907-b010ee326c57/trunk/WebCore/ChangeLog' at /usr/local/git/libexec/git-core/git-svn line 558
Failed to run "[u'git', u'svn', u'dcommit']" exit_code: 1
Committing to http://svn.webkit.org/repository/webkit/trunk ...
M WebCore/ChangeLog
RA layer request failed: Server sent unexpected return value (500 Internal Server Error) in response to PUT request for '/repository/webkit/!svn/wrk/2a76944f-3c7f-41d5-9907-b010ee326c57/trunk/WebCore/ChangeLog' at /usr/local/git/libexec/git-core/git-svn line 558
Failed to run "[u'git', u'svn', u'dcommit']" exit_code: 1
http://queues.webkit.org/results/6299043
-----------------------------------------
Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=abarth-cq-sl', 'build', '--no-clean', '--no-update', '--build-style=both']" exit_code: 1
ERROR: Working directory has local commits, pass --force-clean to continue.
Eric Seidel (no email)
Bug 48697 hit the local commits issue too.
Eric Seidel (no email)
I'm not sure why build even needs to clean.
Especially when --no-clean is passed:
class Build(AbstractSequencedCommand):
name = "build"
help_text = "Update working copy and build"
steps = [
steps.CleanWorkingDirectory,
steps.Update,
steps.Build,
]
class CleanWorkingDirectory(AbstractStep):
def __init__(self, tool, options, allow_local_commits=False):
AbstractStep.__init__(self, tool, options)
self._allow_local_commits = allow_local_commits
@classmethod
def options(cls):
return AbstractStep.options() + [
Options.force_clean,
Options.clean,
]
def run(self, state):
os.chdir(self._tool.scm().checkout_root)
if not self._allow_local_commits:
self._tool.scm().ensure_no_local_commits(self._options.force_clean)
if self._options.clean:
self._tool.scm().ensure_clean_working_directory(force_clean=self._options.force_clean)
We should probably have run() just return early if not self._options.clean? I don't know when it makes sense to remove local commits when --no-clean is passed?
Eric Seidel (no email)
I'm not sure what about our setup changed to make this such a common failure though.
Eric Seidel (no email)
It seems this step has always been this way:
http://trac.webkit.org/changeset/51431
Eric Seidel (no email)
Yeah, I think the class was just written this way: http://trac.webkit.org/changeset/51233. I think I'll fix --no-clean to not even remove local commits.
Adam Barth
I often run build --force-clean when I want to start new day of work with a fresh, clean build.