This uses the run_on_projects attribute introduced earlier for most branches,
adjusts the `ash` method to handle that branch as the legacy implementation
did, and updates try syntax to match builds as well as tests.
In the process, this enables optimizing target tasks, meaning that tasks
specifically requested in the try syntax might be optimized. While this is
probably not ideal, it matches the existing behavior of try (where `-j all` is
the default but all jobs are set to run only when certain files have been
modified). This change can be reverted later, in a more advanced version of
try.
MozReview-Commit-ID: 5FYeUTAsafr
--HG--
extra : rebase_source : b358e0e7cd8a401c50009e63dd55c59489c9b75b
The task description now includes
* flexible specification of index routes (this will get simpler once buildbot
and gecko.v1 routes are removed)
* "run-on-projects", indicating the projects on which this task should run
* "{level}" is allowed in workerTypes
* For the docker-worker/docker-engine worker implementations, "docker-image"
can have the form {in-tree: in-tree-name} to use an in-tree image. This was
previously implemented in the test transforms, but it is useful for other
tasks too!
* Optimizations, currently limited to "only-if-files-changed", can be specified
for each task.
* TreeHerder groupSymbol is optional
* expires-after and and deadline-after have default values (with the former
differing for try and non-try)
* coalesce-name triggers creation of both a coalesce route and a superseder URL
MozReview-Commit-ID: 70vtYs5lz5P
--HG--
extra : rebase_source : 9c557d68239f42466d9724d48ed5bf77648f9aa0
Rename to taskgraph.transforms.task.
This also adds some Required and Optional declarations to the schema to be explicit,
and adjusts the transform to handle treeherder being optional.
MozReview-Commit-ID: FuKYayvlwB9
--HG--
rename : taskcluster/taskgraph/transforms/make_task.py => taskcluster/taskgraph/transforms/task.py
extra : rebase_source : 0913aa8cdf153cd086a7786de957535e9b3a4ee8
This is cosmetic, and makes the cache names easier to generate automatically.
MozReview-Commit-ID: SPwDDnUhx9
--HG--
extra : rebase_source : 2666c8e9073f9598db4146773059065b0d9ba76e
The automatically-generated gecko.v2 routes will remain until a later commit in
this patchset.
MozReview-Commit-ID: A194OvRVWJi
--HG--
extra : rebase_source : f93569efdd6c4978cc42d27d4bbe4f56129ac440
For the most part, this means including the full build_platform (which is not
always the same as build_name) and build_type in the cache name. This makes
the names consistent so they can be generated automatically rather than
specified explicitly.
MozReview-Commit-ID: 7VWm48F1Fzy
--HG--
extra : rebase_source : 3a346b7fd3ed24df75b21a9f1db7e75f8ddfcbbf
MikeLing initially did this in bug 1287018. The intent of this conditional was
to make optimization faster by not even checking most tasks, based on the
assumption that if the prerequisite to a task has changed (for example, a
docker image or a build), then naturally we will want to execute that task.
However, as we have developed actual optimization methods, this has proven not
to be the case: we might want to optimize a test out if its inputs have not
changed, even if a new installer has been built. Similarly, SETA may optimize
tasks out even if their inputs have changed.
MozReview-Commit-ID: LgHET3Z84GB
--HG--
extra : rebase_source : efd297d37bd49dbe655266380641abc258dda725
Version control tends to leave kind directories around containing .orig files
or other such detritus. It's best to just ignore such directories, rather than
failing to generate the taskgraph.
MozReview-Commit-ID: B9GIZndbfi1
--HG--
extra : rebase_source : 58f1debe5219fc52ead2971718da932b63bb06d7
This allows the "regular" build task to be distinguished visually from the gradle build.
MozReview-Commit-ID: 4FgA0QEkUkT
--HG--
extra : rebase_source : 1f8e4014f635d55196c2f32c44a2a56c309c76b6
v1 routes aren't used anymore, as far as I know,
MozReview-Commit-ID: 8t0j8DXUxik
--HG--
extra : rebase_source : ac90e21579c479c334906248958d5d4a2dc28a54
Setting `build_platform` in $inherits.variables and then using it in the body
of the task does not work; the resulting task.extra.build_product was an empty
string
MozReview-Commit-ID: IOxikZStVbq
--HG--
extra : rebase_source : 9381b1291e56161c75c3e7a27261c16fcc1e1ebd
This removes the use of inheritance for these tasks, incorporating some things
that used to be inherited and dropping others. In particular,
* drops index routes
* drops the unused DISABLE_MOZHARNESS
* sets tier explicitly to 1
* uses tooltool for both, even if gcc ignores it
* drops the unused secrets scope
MozReview-Commit-ID: GaMUpHa7PWN
--HG--
extra : rebase_source : a2bcef79cdda65630762d322e0c1897ca0f2cd3d
Also, don't include treeherder info for upload-symbols. This information is
not used, as the tasks have no routes that would cause them to report to
treeherder.
MozReview-Commit-ID: Ji7db0eUL2G
--HG--
extra : rebase_source : 1890bcf94059a3ffd6d8fd1613e3be48d502f27c