Open Bug 1400330 (require-mach-try) Opened 2 years ago Updated 8 months ago

[meta] Require `mach try` for submitting to Try

Categories

(Firefox Build System :: Try, enhancement)

enhancement
Not set

Tracking

(Not tracked)

People

(Reporter: gps, Unassigned)

References

(Depends on 15 open bugs, Blocks 2 open bugs)

Details

(Keywords: meta)

This bug tracks requiring using `mach try` for submitting Try pushes against new changesets.

Main advantages for requiring `mach try` are:

* Buys us the freedom to tinker with Try semantics without backwards compatibility concerns. This vastly increases our flexibility to make major changes to how Try scheduling works.

* Guarantees a UI injection point during Try submission. This will facilitate warnings/prompts/etc about bad practices, new features, etc.

* Reduces the number of methods to submit to Try from N to 1, making it easier to manage and change things.

The main drivers behind this change are:

* We've outgrown Try syntax - we just can't scale Try syntax to handle the kinds of things we need to handle.

* Continuing issues with Try syntax "abuse" leading to excessive resource consumption.

Have a single gateway to Try greatly simplifies everything.

Legacy Try submission methods will almost certainly still work with old changesets. But at some point we'll land a change in mozilla-central and from that commit forward the Taskgraph Decision task won't recognize submissions that didn't come from `mach try`.
Depends on: 1336606
Depends on: 1400333
Blocks: mach-try
Depends on: 1400424
Depends on: 1400429
Depends on: 1400439
Depends on: 1400470
Depends on: 1400471
Depends on: 1397433
Depends on: 1400518
Depends on: 1400519
Depends on: 1400546
No longer depends on: 1400546
Depends on: 1400588
Depends on: 1400652
Depends on: 1401199
Depends on: 1402455
I wrote up a little tool for querying active data and added a recipe for try usage:
https://github.com/ahal/active-data-recipes#try-usage

To use:
$ pip install active-data-recipes
$ adr try_usage

By default it grabs pushes over the last week, but the accuracy of this data depends on bug 1400429, so we'll need to wait a bit longer before we can compare over that time frame. Here's the data from the past 4 days:

$ adr try_usage --from now-4day -q --format markdown

| Method             | Pushes | Percent | Users | Push / User |
|--------------------|--------|---------|-------|-------------|
| total              | 678    | 100.0   | 163   | 4.16        |
| vanilla try syntax | 318    | 46.9    | 112   | 2.84        |
| mach try syntax    | 285    | 42.0    | 61    | 4.67        |
| mach try fuzzy     | 71     | 10.5    | 20    | 3.55        |
| empty              | 4      | 0.6     | 3     | 1.33        |

In terms of total pushes, |mach try syntax| and vanilla try syntax are fairly similar. However there are almost twice as many unique users of vanilla try syntax. |mach try fuzzy| hovers around 10-12%.
Depends on: 1344402
Depends on: 1404067
Depends on: 1409940
Depends on: 1412121
Depends on: 1412136
Depends on: 1414919
Depends on: 1420510
Depends on: 1422911
Depends on: 1425313
Depends on: 1384711
Product: TaskCluster → Firefox Build System
While this bug ended up being a good tracking bug for general try improvements, I just want to call out that:

 1. require mach try
 2. make |mach try fuzzy| the default

Are two different goals. Each can be accomplished independently of the other. So any of the dependent bugs related to improving |mach try fuzzy| do not technically block this bug as stated in the summary.

It's probably worth keeping this as a general tracking bug, just wanted to call this out.
Component: Task Configuration → Try
You need to log in before you can comment on or make changes to this bug.