With the migration from AWS to GCP, we also need to migrate sccache
buckets from S3 to Google Storage.
The problem is how we deal with regions, since there isn't an exact
correspondence on the region names between the two cloud providers.
To make the transition smoother, docker-worker (and soon generic-worker)
provides a new environment variable called TASKCLUSTER_WORKER_LOCATION,
with information about the cloud provider the task is running on. Using
this new variable, we configure sccache to use the corresponding storage
service of the cloud provider where the task runs.
The bucket names in Google Storage are shorter because GCS imposes a
limit of 30 characteres for the names.
Ref: https://github.com/taskcluster/taskcluster-rfcs/pull/148/files
Differential Revision: https://phabricator.services.mozilla.com/D44845
--HG--
extra : moz-landing-system : lando
Adds command line option for developers to run tests against experimental debian 10 image (from D42597).
This is an experimental flag and will be removed once debian 10 image is used for production CI tests.
Differential Revision: https://phabricator.services.mozilla.com/D44236
--HG--
extra : moz-landing-system : lando
Without these scopes, we can't build Android configs from interactive
tasks, because we can't fetch the NDK and SDK from their toolchain tasks.
Differential Revision: https://phabricator.services.mozilla.com/D45048
--HG--
extra : moz-landing-system : lando
This commit prepares the decks for turning specific Raptor tasks into
Raptor + browsertime tasks. The `--browsertime` flag to `mach try
...` flips the switch; eventually, the Raptor harness will recognize
the `--browsertime` flag and use browsertime to perform the pageload
measurements.
To run browsertime, we need:
1) Node.js
2) the browsertime `node_modules` (provided by the
`toolchain-browsertime` task)
3) ffmpeg (for producing videos from captured frames)
4) chromedriver (in the future, when targeting Chrome/Chromium)
5) geckodriver (provided by the `toolchain-*-geckodriver` tasks)
6) `PATH` configured
This commit arranges those things.
Since the configuration varies by test platform, and eventually we
expect the changes implemented by the flag to be moved into YAML task
definitions, we elect to use `by-test-platform` conditionals as much
as possible. The end expression is pleasant, thanks to
`evaluate_keyed_by`.
Handling PATH, however, is a rabbit hole. At this time, it's not
possible to use `fetch` task repackaging, because `releng-hardware`
doesn't support `zstandard` (Bug 1576244) and there's no appetite to
avoid `zstandard` entirely (Bug 1576698). Generally PATH is
configured using `mozharness` configuration files, which can execute
arbitrary Python and configure the PATH only for browsertime jobs.
However, the Raptor mozharness script itself runs the Raptor harness
in a stripped down environment, throwing away modifications to PATH.
It's not clear what impacts changing that has, so we leave it alone,
and add a `--browsertime-ffmpeg` flag and custom handling in the
Raptor harness. This can transition smoothly into a browsertime flag
(so that the PATH doesn't need to be set at all) and into a unified
interface for Raptor and `mach browsertime` to configure the
browsertime execution environment.
Differential Revision: https://phabricator.services.mozilla.com/D38781
--HG--
extra : moz-landing-system : lando
Stop running all Fennec functional (non-performance) tests:
- stop running all Android 4.3 tests
- switch android-em-7 cppunit and android-hw jittest from the Fennec apk to the
geckoview apk (no difference in behavior expected)
- stop running Android 7.0 marionette tests, since they also run against Fennec
- remove android-em-4.* references from taskcluster configs
- remove android instance: extra-large references from taskcluster configs,
since they only affect aws, which is no longer used for Android
Android-hw raptor tests running against Fennec remain; I will prepare a separate
patch for those.
Differential Revision: https://phabricator.services.mozilla.com/D43684
--HG--
extra : moz-landing-system : lando
The `./mach try {fuzzy,chooser}` commands now support a `--visual-metrics-jobs`
option which can be used to pass the job descriptions to the visual-metrics
task.
Differential Revision: https://phabricator.services.mozilla.com/D41878
--HG--
extra : moz-landing-system : lando
The `./mach try {fuzzy,chooser}` commands now support a `--visual-metrics-jobs`
option which can be used to pass the job descriptions to the visual-metrics
task.
Differential Revision: https://phabricator.services.mozilla.com/D41878
--HG--
extra : moz-landing-system : lando
The way that `artifact-prefix` works is that it applies to the
_consuming_ task's fetches... meaning that changing the prefix
requires working out the new paths for every fetch in the consuming
task. This allows to "opt-out" of the artifact prefix mechanism for
individual fetches.
Differential Revision: https://phabricator.services.mozilla.com/D43535
--HG--
extra : moz-landing-system : lando
The way that `artifact-prefix` works is that it applies to the
_consuming_ task's fetches... meaning that changing the prefix
requires working out the new paths for every fetch in the consuming
task. This allows to "opt-out" of the artifact prefix mechanism for
individual fetches.
Depends on D43534
Differential Revision: https://phabricator.services.mozilla.com/D43535
--HG--
extra : moz-landing-system : lando
Lower the priority of partner-repack jobs and downstreams to medium, so that tasks which do block QE work are not impeded.
Differential Revision: https://phabricator.services.mozilla.com/D43399
--HG--
extra : moz-landing-system : lando
For now, this just:
- updates the TreeHerder symbol
- includes the `--browsertime` extra option
The actual test jobs will react to the `--browsertime` extra option
and add dependencies, etc, as appropriate.
Differential Revision: https://phabricator.services.mozilla.com/D41605
--HG--
extra : moz-landing-system : lando
This patch adds two new test tasks for each of the 4 Android browsers running speedometer, idle, or idle-background. These tests gather (i) cpu+memory usage, or (ii) cpu+memory+power usage information. The power tests are left as they are for now to determine if there is an impact to our measurements if we run all resource-usage tests at once. Furthermore, the cron job for android power tests was also modified to prevent it from picking up these tasks.
The cpu usage functons needed to be fixed here because they were not working on MotoG5/Android7 for two reasons: (i) device version was not being detected properly, and (ii) ADB shell commands can't use the pipe functionality (`|`). Tests needed to be modified to compensate for these changes as well.
Differential Revision: https://phabricator.services.mozilla.com/D42679
--HG--
extra : moz-landing-system : lando
This uses the layers.d3d11.enable-blacklist pref to allow running WebRender on WARP.
Differential Revision: https://phabricator.services.mozilla.com/D42255
--HG--
extra : moz-landing-system : lando
This uses the layers.d3d11.enable-blacklist pref to allow running WebRender on WARP.
Differential Revision: https://phabricator.services.mozilla.com/D42255
--HG--
extra : moz-landing-system : lando
This uses the layers.d3d11.enable-blacklist pref to allow running WebRender on WARP.
Differential Revision: https://phabricator.services.mozilla.com/D42255
--HG--
extra : moz-landing-system : lando
These "shadow scheduler" tasks will generate artifacts per-push on autoland.
Basically, given the scheduling algorithms defined in
TASKGRAPH_OPTIMIZE_STRATEGIES, which tasks *would* have been scheduled on this
push.
This will allow us to download the artifacts and run comparisons against the
baseline to see whether things like code coverage or machine learning are
making the situation better or worse.
Differential Revision: https://phabricator.services.mozilla.com/D40427
--HG--
extra : moz-landing-system : lando
This will allow us to easily tweak these values from the optimization strategy.
Differential Revision: https://phabricator.services.mozilla.com/D40206
--HG--
extra : moz-landing-system : lando
This allows test tasks to declare a static optimization name, which can then be
swapped in and out from the optimize code without needing to update the
transforms. This will make it easier to change optimization strategies or run
experimental ones.
Differential Revision: https://phabricator.services.mozilla.com/D40204
--HG--
extra : moz-landing-system : lando