Commit Graph

12285 Commits

Author SHA1 Message Date
Henrik Skupin
54dc70b4e6 Bug 1284502 - Marionette harness should log exceptions from run() only once. r=maja_zf
Whenever an exception is raised while tests are executed, the log error message should only be
printed once. As best this should happen in `cli()`, so that subclasses can better set their
own behavior, and we safe us from re-raising the exception.

MozReview-Commit-ID: 5NLBnJAjUMQ

--HG--
extra : rebase_source : 17e1574c8671037912d85c0575db493c96f972b2
2016-07-25 18:23:26 +02:00
Gregory Szorc
9275cbf8af Bug 1247168 - Convert lint image and tasks to use robustcheckout; r=dustin
The robustcheckout Mercurial extension does a clone+checkout optimally.
Read the bug for more on it.

robustcheckout is already used by mozharness automation. It has resulted
in a significant reduction in I/O usage and utilization in automation.

This commit replaces tc-vcs with the robustcheckout equivalent.

We replace the existing tc-vcs scope and cache with a new one.
Because Dustin and I are paranoid, we maintain separate caches per
SCM level - even though we could arguably share the same cache. Defense
in depth.

Robustcheckout (when used with --sharebase) pools storage for related
repos automatically. i.e. changesets from inbound and central will
be in the same store. This means you likely only have one copy of
each changeset per cache. This can result in significant space savings.
And, since there are fewer copies floating around, hg.mozilla.org
and various network appliances are working less too!

Since tc-vcs is no longer used, we stop it from being installed.

While we're here, we also change the images to execute as the
"worker" user. This happens automatically as a result of using
the "checkout-and-run" script.

MozReview-Commit-ID: EDeebuP7TkT

--HG--
extra : rebase_source : 2bec5dd9d6fe5565831bb35f195859aa12dd0bf2
extra : intermediate-source : 06481d97a485f6566554b087bc3880d76361e8ec
extra : source : d368700c93ef085325a081219d7aeb8512bc54a1
extra : histedit_source : c07505273fc8f10acf8e8d3ee01e327afd0aa63d
2016-07-19 13:30:03 -07:00
Gregory Szorc
622ed9c93c Bug 1247168 - Add a script to perform a checkout then run a command; r=dustin
The script will be used as the main command in task YAML files.
It changes ownership of caches. Then switches to the "worker" user.
Then performs a Gecko checkout. Then executes whatever command was
requested via its arguments.

The script has been added to the shared recipes directory so it can
eventually be used by other Docker images. This means if we e.g. want
to add Git support, we only need to update one file in the tree.

MozReview-Commit-ID: Fuy1VrdSGYn

--HG--
extra : rebase_source : 407b2c584d56c95e9d9b23781539f2979a775893
extra : histedit_source : bd8b7fd541ed27da31082730ad3054b68b06544b
2016-07-21 14:57:37 -07:00
Gregory Szorc
5cab45c387 Bug 1247168 - Install Mercurial 3.8.4 in lint image; r=dustin
Like we do for the decision image, we install Mercurial 3.8.4 from deb
files hosted on tooltool. This provides more control and determinism
than installing via apt.

As part of this change, Mercurial is upgraded from whatever was hosted
in apt to 3.8.4.

Since the deb packages don't provide a global hgrc, we create one
ourselves. This is effectively copied from the decision image.

Most of the work is being done in a new, standalone
install-mercurial.sh script. This script is part of the
newly-established testing/docker/recipes directory. The intent of this
directory is to hold common files referenced by multiple images. Our
custom Dockerfile syntax to include files from outside the directory
with the Dockerfile is used to add these files to the build context.

MozReview-Commit-ID: K7gVm2Geihj

--HG--
extra : rebase_source : 6d1089ac34e43d399c7cf608d09eaaf405df00f7
extra : histedit_source : 656a4cea33ef913102b03238475461884c2749a0
2016-07-19 14:43:25 -07:00
Gregory Szorc
d1a2f7ba43 Bug 1247168 - Use vendored tooltool in lint image; r=dustin
Using our special Dockerfile syntax to include arbitrary files, we
include the previously vendored tooltool.py file in the image build
context and add it directly from there. No github.com communication
needed.

MozReview-Commit-ID: J42iXj87LEu

--HG--
extra : rebase_source : 90845e6793629b56998bf2fae2985913ee49c4eb
extra : histedit_source : 1fd5e64e40ae700efcf78b54e2a865b0594e0955
2016-07-22 13:04:56 -07:00
Gregory Szorc
193231d4c9 Bug 1247168 - Reformat requirements.txt; r=dustin
Visual aligning makes diffs harder to read. Use line continuations
to avoid this. Also make the package list alphabetical.

MozReview-Commit-ID: KqT4aqYyZfH

--HG--
extra : rebase_source : 08d2e4f61860bf6183ec3afaf598be158cd182be
extra : histedit_source : ff450a22617425214e90d42a6f1b530da8682847
2016-07-19 13:54:20 -07:00
Gregory Szorc
6aa899bbf4 Bug 1247168 - Tag and use version 0.1.2 of the decision image; r=dustin
Changes to the decision Docker image have been compelted. We're ready to
use the new image.

We tag the image, update version references, change the task caches
so the new Mercurial pooled storage from the robustcheckout extension is
used, and convert the decision tasks to run as the "worker" user.

MozReview-Commit-ID: 61v9Ivy59zG

--HG--
extra : rebase_source : 640318a87660950c5e0680867a1bfdd68e35f127
extra : histedit_source : ec53fc576c00e5f2053167b37544ac7afccaecb5
2016-07-21 11:32:07 -07:00
Gregory Szorc
a43ac5b4de Bug 1247168 - Introduce scripts for running action and decision tasks; r=dustin
When we switch to use robustcheckout for version control foo, we'll
also be taking the opportunity to have the decision and action tasks
execute as the "worker" user.

Since caches are mounted and owned by root and since tasks initially
run as root, this makes defining the container command in YAML a bit
difficult because we have to do some work as root then switch users
and continue executing. Rather than shoehorning all that complicated
logic into YAML, we introduce bash scripts that do it. These will
be plugged into the task YAML when we formally switch the tasks
to use the new Docker image.

We provide one script for running Gecko decision tasks. We provide
another for running action tasks. These are the two consumers of
the decision image we care about.

We also sneak in a change to add the executable bit to checkout-gecko.

MozReview-Commit-ID: CXlyHZJSHcP

--HG--
extra : rebase_source : 80621d4833a9d745eaff7da4641dfd4ace8ae1db
extra : histedit_source : e6ce7de5d14c8781d8dd94a8eff76c3227cd18b5
2016-07-21 11:44:55 -07:00
Gregory Szorc
b56b243b81 Bug 1247168 - Use robustcheckout in decision image; r=dustin
Now that Mercurial 3.8.4 and robustcheckout are in place, we convert
checkout-gecko from tc-vcs to robustcheckout.

As part of this, we remove references to tc-vcs from the Docker image.

This completes our changes to the decision Docker image. Image size has
been reduced from ~725 MB to ~217 MB. Not bad.

MozReview-Commit-ID: Hx9d02Al1TP

--HG--
extra : rebase_source : 05114e4e0e7fbbab2c89f25074abfeb7b9ba62ef
extra : histedit_source : 193c0bbb64cc1e468b5d7bb969d7f74e25947bde
2016-07-20 12:10:52 -07:00
Gregory Szorc
1c9ec90388 Bug 1247168 - Configure Mercurial and install global hgrc; r=dustin
web.cacerts matches what the Ubuntu package does by default.

[progress] changes are to make output in TaskCluster logs less
spammy (only 1 update per second instead of up to 10).

The robustcheckout extension will be used in a subsequent commit to
handle repository checkouts.

MozReview-Commit-ID: 2PvW4wEGk2u

--HG--
extra : rebase_source : 742627ba823d4f2097a4273e6cc6af8bb842c69f
extra : histedit_source : d479c1923c71605e9511e877b4b90d3b4d42f542
2016-07-20 10:22:26 -07:00
Gregory Szorc
91d48d1847 Bug 1247168 - Vendor tooltool.py; r=dustin
Previously, we were downloading tooltool.py from github.com. There
were a few problems with this.

First, there is a dependency on a 3rd party service. While the Docker
image should be cached, as a matter of principle we don't like hitting
3rd party services in our automation. The file is small enough, so we
just vendor it.

Second - and more importantly - we weren't validating the integrity of
the downloaded file. This means that a MiTM could possibly alter the
content of the file without us knowing (they would need a valid CA but
since the Ubuntu trusted CA bundle contains a lot of CAs from e.g.
governments, this isn't out of the question). Vendoring the file removes
this risk.

Third, behavior wasn't deterministic over time. We were always
downloading the "master" revision of the file. I like determinism over
time. Vendoring makes things deterministic.

MozReview-Commit-ID: 4DdSd42BnAu

--HG--
extra : rebase_source : cf73d2741fc186bebf06233efefdf85cd8cea3f2
extra : histedit_source : 76c7d81266a72010a9969ea32ac13c7bce2a0601
2016-07-20 10:03:17 -07:00
Gregory Szorc
2042b08783 Bug 1247168 - Stop installing most system packages; r=dustin
I'm not sure why the decision image has so many packages installed.
Most of them don't need to exist because the decision image only
needs to obtain a copy of the Firefox repo and run `mach`. This
doesn't require any build system per se. And all the Python
dependencies are vendored in the Firefox repo. All we need is a
Python 2.7 interpreter.

This change reduces the decision image size from ~700 MB to ~300 MB.

MozReview-Commit-ID: CUqc5TUVZSc

--HG--
extra : rebase_source : 5a2b3888b4c54c29bc8c8b9215ce36a4340574e5
extra : histedit_source : 61e70b06b703c3262ae1bc2f527f1919a3f450ec
2016-07-20 11:59:22 -07:00
Gregory Szorc
e403ff5d17 Bug 1247168 - Install Mercurial 3.8.4 from .deb files; r=dustin
We change the installation of Mercurial from via peep to .deb files in
tooltool. The .deb files were produced by Mercurial's built-in make
targets to produce .deb packages.

As part of this, we upgrade to Mercurial 3.8.4. It should be a drop-in
replacement.

Since we no longer use peep, we stop installing it and pip/setuptools
since they were only needed to run peep.

It's worth noting that we choose to install from .deb files instead of
pip because this keeps image creation small and simple. Otherwise we'd
have to install a compiler, etc.

MozReview-Commit-ID: INnKDHkX2uk

--HG--
extra : rebase_source : 0c6f30ff193dba5fbb5d90603e00f8be02816f9d
extra : histedit_source : 2afd18a694447bd133c26b7ccd562cdf7453b674
2016-07-20 09:43:01 -07:00
Gregory Szorc
6780646c93 Bug 1247168 - Don't install virtualenv in the decision image; r=dustin
AFAICT this isn't needed.

MozReview-Commit-ID: 9eG7a4yHFPw

--HG--
extra : rebase_source : 023104eef3405bc749384f58cf6310051de05dc0
extra : histedit_source : cc2872f9cba231306efc3e5857f29def48c167c0
2016-07-20 09:31:48 -07:00
Gregory Szorc
3006858aaf Bug 1247168 - Change decision image to Ubuntu 16.04; r=dustin
We're currently running Ubuntu 14.04 in the decision image. While it is
still in LTS support, 16.04 ships with a modern, properly configured Python
2.7. So we upgrade to 16.04 and drop the install of Python from source
because it is no longer needed.

This is part 1 of a larger refactor to this image.

MozReview-Commit-ID: CTbsPmTjcgs

--HG--
extra : rebase_source : eca12e98c8ff63cb302ea580da9296bd4cf31a4f
extra : histedit_source : 1a40405a9360239bf95d368c43ccfd0681609500
2016-07-20 09:21:38 -07:00
Gregory Szorc
76e569b325 Bug 1247168 - Create worker user/group in decision image; r=dustin
In preparation for running tasks as the worker user.

MozReview-Commit-ID: DLgD0lh5V2C

--HG--
extra : rebase_source : 1508517f9fbc986ada96cbe4ee77847ad6e1afcc
extra : histedit_source : 4b2957c47fcab8704416748613e7ff5badc61897
2016-07-21 10:06:38 -07:00
Dan Minor
439f1b4394 Bug 1289123: Remove test_zmedia_cleanup.html from Autophone WebRTC job manifest; r=drno
MozReview-Commit-ID: CwC1Kr3mU9Q

--HG--
extra : rebase_source : 895780ea63df7e89a2ad16ea736a73e84d2ae936
2016-07-25 09:49:05 -04:00
Carsten "Tomcat" Book
a3e240204c Merge mozilla-central to autoland 2016-07-25 16:22:04 +02:00
Jordan Lund
ea27d6dd79 Bug 1288882 - use_vcs_unique_share defined in mozharness migration configs is ignored, r=Callek a=release DONTBUILD
note: this requires a clean work dir unfortunately. so you have to blow away
the fake build/hg-share and any repos in build/

MozReview-Commit-ID: 3TfNLdga9Dt

--HG--
extra : rebase_source : 25972c5b53eb1bddd490c7aea6a085b713ff7d03
extra : amend_source : 5841fb61e94ab9c4c0f43b344f1a68d589a5c356
2016-07-22 18:24:50 -07:00
Jordan Lund
b301ca80e6 Bug 1278261 - drop api-9 mozilla-release release support, remove all api-9 and api-11 references, r=Callek
this can be uplifted through 48 mozilla-release

MozReview-Commit-ID: KncTJ8hAgfO

--HG--
extra : rebase_source : 18dc6c107a138317f95b433e33bf3081166c4478
2016-07-23 22:44:47 -07:00
Carsten "Tomcat" Book
b9a6c687fa merge mozilla-inbound to mozilla-central a=merge 2016-07-25 15:50:41 +02:00
Carsten "Tomcat" Book
42933ba381 merge fx-team to mozilla-central a=merge
--HG--
rename : devtools/client/shared/css-color.js => devtools/shared/css-color.js
2016-07-25 15:49:05 +02:00
Carsten "Tomcat" Book
f3cbadf7c4 merge autoland to mozilla-central a=merge 2016-07-25 15:46:37 +02:00
Carsten "Tomcat" Book
c1c3140a2f Backed out changeset d93b95e192e9 (bug 1287723) on request from whimboo 2016-07-25 11:42:10 +02:00
Carsten "Tomcat" Book
336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Carsten "Tomcat" Book
c7846e126c Backed out changeset 16aa7041c009 (bug 1287107) for causing xpcshell and mac tests 2016-07-22 11:30:23 +02:00
Carsten "Tomcat" Book
8c4c7324b8 Backed out changeset 66c7af8b2654 (bug 1272629) for failing valgrind tests 2016-07-22 08:35:19 +02:00
Mike Conley
7805abd00a Bug 1287938 - Make ts_paint use the parent process start time and first paint info in calculations. r=jmaher
Instead of checking for the paint time of the tspaint_test.html content,
we're now measuring the delta between process start and first paint as
reported by the parent process's startup info.

MozReview-Commit-ID: 868mf2vazwL

--HG--
extra : rebase_source : 7ba8062be91ca00ab1bbcd386b4c9213148e41f7
2016-07-20 11:00:25 -04:00
Andreas Tolfsen
c6cfc1c7ad Bug 1287751 - Remove logging in GeckoDriver#startBrowser; r=automatedtester
MozReview-Commit-ID: K7ZV3BajNS8

--HG--
extra : rebase_source : 3076a5b4299453f450a06bed7f4f260c768515cc
2016-07-19 13:25:56 +01:00
Carsten "Tomcat" Book
0a5622c093 Backed out changeset 640247e978ba (bug 1246540) for bustage 2016-07-24 15:59:31 +02:00
Kate McKinley
547500d5a7 Bug 1246540 - HSTS Priming Proof of Concept. r=honzab
HSTS priming changes the order of mixed-content blocking and HSTS
upgrades, and adds a priming request to check if a mixed-content load is
accesible over HTTPS and the server supports upgrading via the
Strict-Transport-Security header.

Every call site that uses AsyncOpen2 passes through the mixed-content
blocker, and has a LoadInfo. If the mixed-content blocker marks the load as
needing HSTS priming, nsHttpChannel will build and send an HSTS priming
request on the same URI with the scheme upgraded to HTTPS. If the server
allows the upgrade, then channel performs an internal redirect to the HTTPS URI,
otherwise use the result of mixed-content blocker to allow or block the
load.

nsISiteSecurityService adds an optional boolean out parameter to
determine if the HSTS state is already cached for negative assertions.
If the host has been probed within the previous 24 hours, no HSTS
priming check will be sent.

(r=ckerschb,r=mayhemer,r=jld,r=smaug,r=dkeeler,r=jmaher,p=ally)
2016-07-22 18:35:00 +02:00
Geoff Brown
fd78e8fcc7 Bug 1288501 - Accept total-chunk, this-chunk options in android_emulator_unittest.py; r=kmoir 2016-07-22 14:31:37 -06:00
Sotaro Ikeda
e20e678f48 Bug 1288648 - Disable some WebVTT tests r=jgraham 2016-07-22 07:26:20 -07:00
Carsten "Tomcat" Book
8b6316ec5f Merge mozilla-central to mozilla-inbound 2016-07-22 11:59:06 +02:00
Andrew McCreight
623b56a3f1 Bug 1287143 - Remove the window argument to SpecialPowers.exactGC(). r=jmaher
Cu.forceCC() is the same as DOMWindowUtils.cycleCollect(), but does
not require a window.
2016-07-19 13:13:00 +08:00
Mike Conley
d9c28dead6 Bug 1261842 - Make sure Marionette can handle the redirect and error page cases. r=automatedtester
With the initial browser defaulting to remote, there's a greater likelihood
that the DOMContentLoaded event that is handled in the "get" function will
be fired by the initial about:blank instead of the actual desired page.

get() currently works around this by ensuring that the URL of the loaded
page matches the requested one when DOMContentLoaded fires. Unfortunately,
this doesn't work for pages that redirect via their HTTP headers (and will
therefore not fire DOMContentLoaded).

This patch fixes things by adding an nsIWebProgressListener that ensures
that the requested page has started to load before paying any attention
to the DOMContentLoaded events. This handles the redirect case. We also
compare against nsIChannel.originalURI for the about: redirect case.

For neterror pages (which never open channels, and therefore are not
seen by the nsIWebProgressListener), we just check that the page that
we attempted to reach was the one that was requested.

MozReview-Commit-ID: Gbbmfwat46s

--HG--
extra : rebase_source : 1848cd67757be8780f9e50253dc0ee1131467257
2016-07-20 10:03:52 -04:00
Mike Conley
a667a60938 Bug 1261842 - Make pageloader assume that initial browsers are remote in e10s mode. r=jmaher
MozReview-Commit-ID: 4l2uTqOeIy2

--HG--
extra : rebase_source : b13fa6669b34965be9b18bb658517a2fe4795542
extra : source : 0a08398b508752250588f9b46726ad90ec51637b
2016-05-30 15:15:32 -04:00
Mike Conley
69b9435ec3 Bug 1261842 - Make Marionette listener ensure that the loaded document is the one that was actually requested. r=ato
Before, it was assumed that the next load was the one that the Marionette client had
asked for, when this might not be the case. For example, when a new window opens,
it's possible for the initial about:blank load to be fired in content after the
parent has asked for a page to be loaded.

MozReview-Commit-ID: GPoJgbCvSju

--HG--
extra : rebase_source : 7b4c1638c2fe81a0a37d061a655e35aed0e2daa0
extra : source : b2e910bb1d726562548eba1148a81ec37300fb7b
2016-05-27 16:26:16 -04:00
William Lachance
06cad672c8 Bug 1278196 - Explicitly install functools32 w/ jsonschema r=gps
MozReview-Commit-ID: EDIayiXQwJk

--HG--
extra : rebase_source : 1b21e1bac3470a7d5ed0102d7333288a3bd2068a
2016-07-18 13:12:18 -04:00
Enes Goktas
3fdb9182c7 Bug 1272629 - Add bison package installation to taskcluster docker setup script. r=dustin
Update centos6 build version from 0.1.6 to 0.1.7

MozReview-Commit-ID: 66Eu8lCfOHy
2016-07-22 11:00:42 +09:00
Wes Kocher
f11c79a662 Merge m-c to inbound, a=merge CLOSED TREE 2016-07-21 15:59:28 -07:00
Ryan VanderMeulen
7581b74fc1 Backed out 3 changesets (bug 1285036) for browser_net_resend.js failures on a CLOSED TREE.
Backed out changeset 1fd18c03c696 (bug 1285036)
Backed out changeset 6462cd2ea249 (bug 1285036)
Backed out changeset 6b51b69f723e (bug 1285036)
2016-07-21 14:56:01 -04:00
Carsten "Tomcat" Book
bc1b31b01b Merge mozilla-central to autoland 2016-07-21 16:27:58 +02:00
Carsten "Tomcat" Book
4a64baa9d4 merge mozilla-inbound to mozilla-central a=merge 2016-07-21 16:24:36 +02:00
Carsten "Tomcat" Book
ac018ea603 merge fx-team to mozilla-central a=merge 2016-07-21 16:23:11 +02:00
Henrik Skupin
faa2229a5e Bug 1287723 - Fix test_screenshot.py to properly wait for new chrome window to be loaded. r=automatedtester
MozReview-Commit-ID: KiFGbNdddJe

--HG--
extra : rebase_source : 87ccbb02cdb45531efc7fe948c57c10e9e03b547
2016-07-21 11:10:14 +02:00
Rob Thijssen
18da8e2f82 Bug 1287496 - Increment sleep timespan by (attempts * delay) seconds. r=ted
MozReview-Commit-ID: Gx9fxp3xfZA

--HG--
extra : rebase_source : b2bbfb62a257a7d538b19ed522e24378fda2098d
2016-07-18 18:12:01 +01:00
Christoph Kerschbaumer
922a233110 Bug 471020 - Update python script of wpt tests to perform binary read of image file. r=bz 2016-07-20 12:34:03 +02:00
Christoph Kerschbaumer
1efa7507f0 Bug 471020 - Update wpt tests for X-Content-Type-Options: nosniff. r=jgraham 2016-07-20 12:33:47 +02:00
Carsten "Tomcat" Book
8428cd56e3 merge mozilla-inbound to mozilla-central a=merge 2016-07-20 11:20:15 +02:00