Make remote agent part of default build

ASSIGNED
Assigned to

Status

enhancement
P1
normal
ASSIGNED
2 months ago
6 hours ago

People

(Reporter: ato, Assigned: ato)

Tracking

(Depends on 1 bug, Blocks 6 bugs)

Details

Attachments

(4 attachments)

(Assignee)

Description

2 months ago

The remote agent as we landed it in
https://bugzilla.mozilla.org/show_bug.cgi?id=protocdp is not part
of the default build. In order for us to have TaskCluster test
jobs, we need to include the remote agent in the default build of
Nightly.

This approach is similar to that taken in the past with Marionette,
first in Firefox, then later in Fennec.

This would mean that

ac_add_options --enable-cdp

would still be required locally when built with official branding.

(Assignee)

Updated

2 months ago
Blocks: puppeteer
(Assignee)

Updated

2 months ago
Depends on: protocdp
(Assignee)

Updated

a month ago
Assignee: nobody → ato
Status: NEW → ASSIGNED
Priority: -- → P1
(Assignee)

Updated

22 days ago
Blocks: 1540655
(Assignee)

Updated

18 days ago
Depends on: 1542198
(Assignee)

Updated

18 days ago
Depends on: 1542229
(Assignee)

Comment 1

18 days ago

try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=51aefa79212f11c4515504b733316e404276ffbe

test_Domains.js included and run, but a call to ChromeUtils.import()
of remote/domains/Domains.jsm fails.

(Assignee)

Updated

15 days ago
Depends on: 1542861
(Assignee)

Comment 2

15 days ago

I figured out the problem. Fix available in
https://bugzilla.mozilla.org/show_bug.cgi?id=1542861.

Once that lands, I will upload a patch here that enables the remote
agent on Firefox Nightly. We still need to wait for the security
review (tracked in https://bugzilla.mozilla.org/show_bug.cgi?id=1542229)
before we can proceed with landing it, however.

(Assignee)

Updated

14 days ago
Blocks: 1526364
(Assignee)

Updated

12 days ago
Depends on: 1543676
(Assignee)

Updated

12 days ago
Depends on: 1543679
(Assignee)

Comment 5

8 days ago

I’m changing the narrative of this bug from shipping the remote
agent in Nightly, to building it as part of the default build with
the remote.enabled preference turned off. I’ve filed
https://bugzilla.mozilla.org/show_bug.cgi?id=1544393 to track the
shipping of it in Nightly.

The work encompassed by this bug will be to first flip remote.enabled
to false, which is the usual thing we tend to do for new features,
and then imply --enabled-cdp for the default build. This means
we can have the tests on try flip the pref to true when needed,
unblocking https://bugzilla.mozilla.org/show_bug.cgi?id=1540655.

No longer blocks: puppeteer
No longer depends on: 1542229
Summary: Make remote agent part of Nightly-only build in CI → Make remote agent part of default build
(Assignee)

Updated

8 days ago
Blocks: 1544393
(Assignee)

Comment 6

8 days ago

The browser.fission.simulate preference is necessary when using
the child actor system, but the remote agent is not.

DONTBUILD

(Assignee)

Comment 7

8 days ago

This disables the remote agent through flipping the remote.enabled
preference to false. This will cause the help text to disappear from
--help and the RemoteAgent#init() (in remote/RemoteAgent.jsm) to fail.

(Assignee)

Comment 8

8 days ago

The previous commit disabled the remote agent by flipping the
remote.enabled preference to false. That prevented the remote
agent from initialising or being included in the --help message.

This patch implies --enable-cdp in the default Firefox build on Firefox
Nightly. Firefox for Android is not supported. This will cause
builds to include the remote agent component that lives under remote/.

Since the remote agent is disabled by default, users will first
have to set the remote.enabled preference to true in order to use it.

If you wish to explicitly opt out of including the remote agent
when building Firefox, you may do so by using the --disable-cdp
build flag in your mozconfig:

ac_add_options --disable-cdp
(Assignee)

Updated

6 days ago
(Assignee)

Comment 9

6 days ago

The remote debugger mochitest browser-chrome tests do not have to
be run in a separate subsuite. Removing the subsuite condition
will make them appear as part of the normal M-bc* jobs on try.

(Assignee)

Updated

6 days ago
Blocks: 1545147
(Assignee)

Comment 11

6 days ago

Apparently the test-verify (TV/Tvw) is nothing to worry about. The
first time I saw this was when using ./mach try fuzzy.

Full try:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3e90536469f537d19bccc02d42d51d113045ba32

Comment 12

6 days ago
Pushed by atolfsen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b818d6ca606d
remote: remove browser.fission.simulate pref; r=ochameau,yulia
https://hg.mozilla.org/integration/autoland/rev/bd363475667f
remote: disable remote agent; r=ochameau
https://hg.mozilla.org/integration/autoland/rev/d32384388e3d
remote: include remote agent in default build; r=firefox-build-system-reviewers,chmanchester
https://hg.mozilla.org/integration/autoland/rev/94fd0790781a
remote: run bc tests as part of regular batch; r=ochameau

Backed out 4 changesets (bug 1533831) for failing at /browser/browser_target.js on a CLOSED TREE.

Backout link: https://hg.mozilla.org/integration/autoland/rev/715ae7cfb2d11cc68f8a8d26ad5342d3cbf0ab17

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&selectedJob=241077679&revision=2b2554ff8f8c3d87e5035316e67f3a213fd11c54

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=241077679&repo=autoland&lineNumber=71509

Log snippet:

01:12:46 INFO - TEST-INFO | started process screenshot
01:12:46 INFO - TEST-INFO | screenshot: exit 0
01:12:46 INFO - Buffered messages logged at 01:11:16
01:12:46 INFO - Entering test bound
01:12:46 INFO - Buffered messages logged at 01:11:17
01:12:46 INFO - TEST-PASS | remote/test/browser/browser_target.js | CDP client has been instantiated -
01:12:46 INFO - TEST-PASS | remote/test/browser/browser_target.js | Target domain is available -
01:12:46 INFO - Buffered messages finished
01:12:46 INFO - TEST-UNEXPECTED-FAIL | remote/test/browser/browser_target.js | Test timed out -
01:12:46 INFO - GECKO(5304) | MEMORY STAT | vsize 790MB | vsizeMaxContiguous 685MB | residentFast 219MB | heapAllocated 73MB
01:12:46 INFO - TEST-OK | remote/test/browser/browser_target.js | took 90043ms
01:12:46 INFO - Not taking screenshot here: see the one that was previously logged
01:12:46 INFO - TEST-UNEXPECTED-FAIL | remote/test/browser/browser_target.js | Found a tab after previous test timed out: about:blank -
01:12:46 INFO - GECKO(5304) | ++DOCSHELL 01461800 == 1 [pid = 1540] [id = {5f4ebea6-b1a5-42b6-a6e9-4103ab19f301}]
01:12:46 INFO - GECKO(5304) | ++DOMWINDOW == 1 (089203A0) [pid = 1540] [serial = 5] [outer = 00000000]
01:12:46 INFO - GECKO(5304) | ++DOMWINDOW == 2 (01468800) [pid = 1540] [serial = 6] [outer = 089203A0]
01:12:46 INFO - checking window state

Flags: needinfo?(ato)
(Assignee)

Updated

6 hours ago
Depends on: 1546385
(Assignee)

Comment 14

6 hours ago

(In reply to Raul Gurzau (:RaulGurzau) from comment #13)

01:12:46 INFO - TEST-UNEXPECTED-FAIL | remote/test/browser/browser_target.js | Found a tab after previous test timed out: about:blank -

Filed https://bugzilla.mozilla.org/show_bug.cgi?id=1546385 about this.

Flags: needinfo?(ato)
You need to log in before you can comment on or make changes to this bug.