The idea of mozlog ids being tuples unfortunately didn't work so well
with external systems that found the tuple|string datatype difficult to
work with. Convert reftests to use simple ids of the form "<test url>
<comparison> <refurl>" e.g. "about:blank == data:text/html," instead of
tuples.
MozReview-Commit-ID: 18jufbssn4A
--HG--
extra : rebase_source : 542888186fecf3671847d1fca307770c7a989ad3
To make things as easy as possible, run a little wizard to help developers
choose what to do. This way they don't need to memorize any commands or read
any wiki pages.
MozReview-Commit-ID: DzBlVUs9R8I
--HG--
extra : rebase_source : 36166f7642f6fb297adedf4176f1088cb91c2435
Rather than guess what the developer means to do when they checkout an interactive tester,
we'll prompt them from the interactive shell. This means we need to bypass the mozharness
script initially. To make it easy to run again later, we save the exact command to a
'run-mozharness' binary.
MozReview-Commit-ID: DzBlVUs9R8I
--HG--
extra : rebase_source : 60324bce5bf8b89cee4c962f426f17b5dc73b29d
This creates some defaults, enables common built-in extensions and sets up
Ubuntu's CA file for checking host certificates.
MozReview-Commit-ID: DzBlVUs9R8I
--HG--
extra : rebase_source : 81cb5b935910091a4d6632daac439e786c6c410f
We'll need to add a number of dot-files and binaries to /home/worker/bin as
part of the effort to make debugging on remote machines easier, move them all
to a 'dot-files' subfolder and +x everything in /home/worker/bin.
MozReview-Commit-ID: DzBlVUs9R8I
--HG--
rename : testing/docker/desktop-test/dot-config/pip/pip.conf => testing/docker/desktop-test/dot-files/config/pip/pip.conf
rename : testing/docker/desktop-test/dot-config/user-dirs.dirs => testing/docker/desktop-test/dot-files/config/user-dirs.dirs
rename : testing/docker/desktop-test/dot-config/user-dirs.locale => testing/docker/desktop-test/dot-files/config/user-dirs.locale
rename : testing/docker/desktop-test/dot-pulse/default.pa => testing/docker/desktop-test/dot-files/pulse/default.pa
extra : rebase_source : 71b44dc318516a7a03d16fcfb1b36ba6cd924d55
* Implement & document optimization (although legacy kind doesn't do much of it)
* Introduce `optimize_target_tasks` parameter to control whether tasks in the
target set can be optimized (no for try, yes for most other branches)
* Refactor to include resolved taskIds in the optimized task graph
* Include a `label-to-taskid.json` artifact.
* Introduce {'task-reference': '... <dependency-name> ...'} for referring to
parent tasks' taskId.
MozReview-Commit-ID: LWvlWNz49U5
--HG--
extra : rebase_source : 780e0e23d24b268ade33ecdcbccb5081f32aac48
MozReview-Commit-ID: KFlaQoeGPRc
* I guess this has to be uplifted to aurora and included in the aurora->beta
merge
--HG--
extra : rebase_source : eb97b061f193e0f6d976ea374a3ed2677435520b
extra : amend_source : 843c4791f09dc39e21499dd1782614b2c5442b7e
This test was removed as part of commit 2a7dbc0411d1, but we still try to run
it.
MozReview-Commit-ID: HfFkugGz2vI
--HG--
extra : rebase_source : 6073292e18b39cd54c976322c89e2371a27d3d24
extra : amend_source : 3b918c333ef0e07a07aa0bc3d957ea3ac65d79ad
this patch:
* forces always passing '-r' when pushing after a migration run
* removes '--new-branch' from beta_to_release push. we don't generate new branches on releases anymore because of release promotion!
* has migration runs use a unique share dir for each repo.
this can be used as a stop gap. maybe even a more permanent solution so we don't need to add complexity to robustcheckout for an edgecase like this.
MozReview-Commit-ID: HXY5vDI1pIt
--HG--
extra : rebase_source : 717e48dbf79115817e48adba8ed2f082d832fca0
Enables flake8 linting! To start, only these directories are actually linted:
- python/mozlint
- tools/lint
To enable new directories, add them to the 'include' directive at the bottom of:
tools/lint/flake8.lint
Edit topsrcdir/.flake8 to modify global configuration. Add a new .flake8 to a
subdirectory to override the global. The current configuration is more or less
just the default and we should tweak it to our needs.
MozReview-Commit-ID: iXbToRhm3b
--HG--
extra : rebase_source : 78c4491261ba36421110b0d9fca73c1f6d1f85c3
This adds flake8 dependencies. Note that ubuntu 16.04 repos include pip > 8.0
which has peep merged into it, so there's no need to install peep separately.
I also ran into a locale issue which was causing a UnicodeDecodeError anytime
python tried to print a unicode character. The "locale-gen/dpkg-reconfigure locales"
fix the problem.
MozReview-Commit-ID: DQhYV6Emklw
--HG--
extra : rebase_source : ffefb07a17a43423142b3417628b6dd475d5c54a
MozReview-Commit-ID: oDGtQ2Vnq4
Marionette harness has undergone lots of changes, so I decided to take current sources from M-C and do the copy + changes patches again with my own changes to get a Session harness.
--HG--
extra : transplant_source : D5%AA%A1E%96%8E%FC%06%BC%AF%C1T%DA%83%AF%1C%AB9%B5
MozReview-Commit-ID: 9e6HNAaF0Yo
In case of in-process restarts it can happen that the new process gets forked into a new process group.
When that happens we loose the capability to kill the process. To prevent a hang when joining the output
reader threads in wait(), we simply skip that call by passing-through the IO error.
--HG--
extra : rebase_source : 702dfec407ed13114f59fa6ccb0d82c5b0790550
robustcheckout barfs on symbolic revisions when using "revision."
MozReview-Commit-ID: B7YXqbWG0G1
--HG--
extra : rebase_source : d852930ac24be79004bce978c8ed6542ab58600f
This commit teaches the resource monitor in mozharness to emit
Perfherder data for system metrics and step times. This will
allow us to see when the timing or resource characteristics
of jobs in automation changes.
The recorded data includes overall CPU percent usage and I/O.
Each step has its time and CPU percent recorded. There is
certainly more data we could record. However, the immediate
goal of this change is to see if the data provides any benefit.
I'd rather start small and expand reporting once value from
this data is proved.
The wonkiest part of this patch is likely the mechanism to
define the Perfherder "test" names. We don't appear to have
an identifier in mozharness suitable for distinguishing
between job types. e.g. the "desktop_unittest.py" script is
responsible for running a few dozen jobs. So we invent code
for creating an identifier from the script config options.
I /think/ Treeherder will automatically assign the
project/branch, platform, and build type, which is why these
aren't included in the identifier.
MozReview-Commit-ID: HjhtXfxOvzJ
--HG--
extra : rebase_source : a3f0f2de4a091cde10c5a6815f1b4646bb5dc2f2
Having the latest schema available seems like a good thing. This is a
direct copy of schemas/performance-artifact.json from
https://github.com/mozilla/treeherder.git at commit
7bed1b22ceb01e3e71536fa1c4ecd14ddc87e803.
MozReview-Commit-ID: JQC4CeW6szM
--HG--
extra : rebase_source : a57d4e93b9334b5c571b05e0ef52f637a45432dd
Currently, only Talos accesses this file. An uncoming commit will add
a non-Talos consumer. Enable all mozharness consumers to access the
file by including it in the mozharness directory (previously it was
part of the Talos test archive).
MozReview-Commit-ID: ADlCj9E5BwC
--HG--
rename : testing/talos/treeherder-schemas/performance-artifact.json => testing/mozharness/external_tools/performance-artifact-schema.json
extra : rebase_source : ce5fcaf700941ce260c97c6daeefa07b4ef5e617
Sometimes the IO completion port doesn't shutdown child processes. When this happens,
mozprocess will attempt to force kill the child processes manually. However, there is
a bug here which causes the OSError to get raised.
Although this fixes that bug, the original issue(s) which prevented the IOC port
from signaling shutdown remain and are still undiagnosed.
MozReview-Commit-ID: L3DQPW0Is5v
--HG--
extra : rebase_source : cf6320cffea5a4c8fb5d62861c41065d9dcefa52
We can set MOZPROCESS_DEBUG to help debug windows process code. However on try
it is unreadable as there are multiple things using mozprocess, and each process
has multiple threads. It's impossible to tell which log message comes from where.
This improves the debug logs a bit by always specifying the PID and thread name.
There are a few other drive-by cleanups in this thread. The only one of note is
removing a python 2.5 only code path.
MozReview-Commit-ID: L3DQPW0Is5v
--HG--
extra : rebase_source : f07c07f53b06b1160cd3e70cb06b8dc12a89c3ab
Enables flake8 linting! To start, only these directories are actually linted:
- python/mozlint
- tools/lint
To enable new directories, add them to the 'include' directive at the bottom of:
tools/lint/flake8.lint
Edit topsrcdir/.flake8 to modify global configuration. Add a new .flake8 to a
subdirectory to override the global. The current configuration is more or less
just the default and we should tweak it to our needs.
MozReview-Commit-ID: iXbToRhm3b
--HG--
extra : transplant_source : %E7i%04%07%1C%B3%E4%FD%FF%BB%A6w%CF%27t%FFz%CD%5EE
This adds flake8 dependencies. Note that ubuntu 16.04 repos include pip > 8.0
which has peep merged into it, so there's no need to install peep separately.
I also ran into a locale issue which was causing a UnicodeDecodeError anytime
python tried to print a unicode character. The "locale-gen/dpkg-reconfigure locales"
fix the problem.
MozReview-Commit-ID: DQhYV6Emklw
--HG--
extra : transplant_source : %B8%EAh%CE%81%EF%95%1D%D5%B4%F5%AE%02V%20%7Em%83.%EB
This removes the UnknowOperationError that was being thrown and returns the
property on the element that has been requested.
MozReview-Commit-ID: 2WCnBfdmit5
--HG--
extra : rebase_source : 92549bc482b3cf383bef35efa3ad10b3bcb0153e
MozReview-Commit-ID: GD3vspSFmTa
* fix clean_repos. it expects vcs_config key revision but now we use branch
--HG--
extra : rebase_source : d09622ca30eb1c7face42892f149812e5ae5a26a
extra : amend_source : cf7491d93ff2ea9ca13929606368fd443c8f026b
The ES job uses an image based on the official node image. While this was convenient
for eslint, it is a bit less convenient for other things. I want to use this image
for all lint jobs, and switching the base to a generic ubuntu image seems a bit cleaner.
I chose 16.04 for no good reason other than it is the most recent, and we might as well.
Node v4.4.5 and taskcluster-vcs have been uploaded to tooltool.
MozReview-Commit-ID: GngYeH98zO1
--HG--
extra : rebase_source : 3c9b8264e159c601e1a3edad08d989272691751a
I'm not especially happy with this method, but the DMD tests are the only
other tests I can find doing anything like this, and I don't have a better
solution than doing it the same way.
MozReview-Commit-ID: JlclyKoUhRf
--HG--
extra : rebase_source : 61122aa9bb83a2d290a0e3daad34c78f96b82b7f
extra : source : ed35c5f4d756aa5b073832e21c103ce4faf282bd
I'm not especially happy with this method, but the DMD tests are the only
other tests I can find doing anything like this, and I don't have a better
solution than doing it the same way.
MozReview-Commit-ID: JlclyKoUhRf
--HG--
extra : rebase_source : 2906a6aa3a65fd388db6c388c3fe8d582e02d76f
This should have been reenabled when we fixed the Marionette scrolling
MozReview-Commit-ID: HrfklF1c1Zz
--HG--
extra : rebase_source : a0bc05126315949f26df7dd5ac60f6d3f32bd1aa
The web platform tests changes are just a cherrypick of
https://github.com/w3c/web-platform-tests/pull/2926 so I don't have to add
failure annotations until the next test uplift.
I've audited our uses of nsIFormControl, and this patch looks to me like it
preserves existing behavior in all but the following cases:
1) nsXBLPrototypeHandler::DispatchXBLCommand, the case of scrolling when space
is pressed while something inside a <label> is focused. We used to not scroll
in this situation; I think this is a bug, so I'm changing that behavior to
scroll instead.
2) In Accessible::RelationByType for the RelationType::DEFAULT_BUTTON case,
when mContent is a <label> we used to return its form's default submit element.
Now we will just return Relation().
These all definitely use the modern HgVCS because it is explicitly
specified in the configs. So without this change, these configs would
fail since --revision rejects symbolic names.
MozReview-Commit-ID: 2SlVWNVwc08
--HG--
extra : rebase_source : 5e3d0cd075b5a35c4ad0d95b9ec0d6b3715d5080
I'm pretty sure partner repacks are using the modern HgVCS and not
HgToolVCS. So have them use "branch" instead of "revision" for symbolic
revisions.
MozReview-Commit-ID: BuEHGFmK6cK
--HG--
extra : rebase_source : 149d31434a2cf84ff7ade8bff9e7abe4e15e3758
I /think/ hazard builds are currently only performed on TC, which doesn't
use the VCS settings in mozharness. So I don't think this could possibly
break automation.
While I was here, I removed a reference to hgtool since we're no longer
using hgtool in this job.
MozReview-Commit-ID: fQj2MzpGRT
--HG--
extra : rebase_source : f0d0880a50c0597b10c6e97c13f04ae7cf6cc131
The normal MercurialVCS now supports querying pushlog. Use it.
This isn't really relevant to the bug summary and other commits in this
series. But I already wrote this commit and was too lazy to create a
new bug for it.
MozReview-Commit-ID: C97Zgox3xKB
--HG--
extra : rebase_source : e84b6e723e1d481a24a4ba0812735d8b34acd218
We remove the old config settings related to hgtool and switch
the "revision" option to "branch" because it defines a symbolic
revision.
MozReview-Commit-ID: Eq4R5a2tv2V
--HG--
extra : rebase_source : 4d85abbc2db6f499206d741f98c316b9c521b4ee