Re: mozilla-inbound backout policy subject to change (become similar to autoland)

2018-06-24 Thread Boris Zbarsky

On 6/19/18 9:04 AM, Sebastian Hengst wrote:
TL;DR: We would like to change the mozilla-inbound backout policy to be 
like autoland’s.


This seems like a pretty reasonable change in general.

Is there a well-documented try syntax string which corresponds to "these 
are the things that need to be green to avoid being backed out"? 
Presumably that string is not "-p all -u all" because it should exclude 
tier2 and lower things, but it's not entirely clear to me what the 
autoland backout criteria are.  I would assume we want developers to do 
a try run with that syntax before pushing to inbound as needed.


-Boris
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: mozilla-inbound backout policy subject to change (become similar to autoland)

2018-06-24 Thread Mike Hommey
On Sun, Jun 24, 2018 at 03:28:45PM -0400, Boris Zbarsky wrote:
> On 6/19/18 9:04 AM, Sebastian Hengst wrote:
> > TL;DR: We would like to change the mozilla-inbound backout policy to be
> > like autoland’s.
> 
> This seems like a pretty reasonable change in general.
> 
> Is there a well-documented try syntax string which corresponds to "these are
> the things that need to be green to avoid being backed out"? Presumably that
> string is not "-p all -u all" because it should exclude tier2 and lower
> things, but it's not entirely clear to me what the autoland backout criteria
> are.  I would assume we want developers to do a try run with that syntax
> before pushing to inbound as needed.

For some reason, -p all -u all runs things that are not marked tier-2
but also don't run on autoland/inbound/central. I don't know why, but
that has repeatedly made me waste time trying to figure out why I was
getting oranges on those jobs, which, it turned out, are already busted
with an unmodified tree.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: mozilla-inbound backout policy subject to change (become similar to autoland)

2018-06-24 Thread Kris Maglione

On Sun, Jun 24, 2018 at 03:28:45PM -0400, Boris Zbarsky wrote:

On 6/19/18 9:04 AM, Sebastian Hengst wrote:
TL;DR: We would like to change the mozilla-inbound backout policy to 
be like autoland’s.


This seems like a pretty reasonable change in general.

Is there a well-documented try syntax string which corresponds to 
"these are the things that need to be green to avoid being backed 
out"? Presumably that string is not "-p all -u all" because it should 
exclude tier2 and lower things, but it's not entirely clear to me what 
the autoland backout criteria are.  I would assume we want developers 
to do a try run with that syntax before pushing to inbound as needed.


I tend to worry about the amount of extra automation runtime 
that kind of policy will trigger. I tend to try to limit my try 
runs to areas they're likely to affect to avoid wasting 
thousands of hours of machine time on things I know cannot be 
affected by a patch. The integration trees try to do something 
similar, based on changed files. Try does not. When you specify 
`-p all -u all`, it really does try to run all tests. Including 
things like ccov, which always fail, and also don't matter for 
try runs.


I also don't know how much it would affect the oranges I get on 
inbound. A significant fraction of those are rebase issues, 
because I tend to do my first try run before review (or while 
waiting for review), and don't want to do a whole new try run 
when I land.


Most of the rest are because I almost always forget to do 
Android runs, and sometimes forget what sorts of weird things 
can break Windows but not other platforms. But our Android and 
Windows slaves tend to be overloaded as it is, and I don't want 
to just start throwing extra jobs at them every time I write a 
commit, on the odd chance that one of my changes will affect 
them. Though there are definitely specific sorts of patches I 
should remember to run Android and Windows mochitests on more 
often.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Code Coverage Summary

2018-06-24 Thread dat vu
Vào 06:37:53 UTC+7 Thứ Bảy, ngày 23 tháng 6 năm 2018, Kyle Lahnakoski đã viết:
> ## Overview
> 
>   * **Coverage on recent changesets** - A list of recent changesets and
> the percent of new lines covered by tests.
> https://firefox-code-coverage.herokuapp.com
>   * **Coverage addon** - Use it to show coverage on your patches in
> Bugzilla -
> https://addons.mozilla.org/en-US/firefox/addon/gecko-code-coverage/
>   * **Daily coverage aggregates** - by directory and file -
> https://codecov.io/gh/mozilla/gecko-dev
>   * **Zero coverage reports** -
> https://marco-c.github.io/code-coverage-reports/ with ore details here:
> https://release.mozilla.org/tooling/codecoverage/2018/03/23/code-coverage.html
>   * **Not-so-raw coverage artifacts** - If you are interested in the
> details, you may want to see the artifacts produced by coverage builds:
> https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&filter-searchStr=ccov
> 
> 
> ## Contact Us
> 
> If you want to know more, or want to participate, stop by and say "hi":
> 
>   * **Mail list** - codecover...@mozilla.com
>   * **IRC** - #codecoverage  
> 
> 
> ## Details 
> 
> This past 6 months have been spent working on minutia and hard problems
> of the CodeCoverage system. There are many platforms, many suites, a
> complex build, and a lot of data. Taming the complexity so we can
> provide "clean" coverage artifacts is proving arduous. Here are some
> examples:
> 
>  * **translating filenames** - Our build has generated source files, and
> files copied to appropriate directories before compile. The file
> reported in coverage artifacts must be mapped back to files we see in
> the tree. Our coverage processing now does this work.
>  * **chunk <-> file mapping** - Our coverage is collected by running
> hundreds of tasks, each responsible for running some part of a test
> suite; called a "chunk".  An interesting question is "if we have a
> changeset, and we know what files it changed, can we schedule less
> chunks?" The chunk<->file mapping allows use to answer that question.
> Turns out the answer is "not really".
>  * **windows coverage** - If you visit Treeherder you will see we are
> collecting coverage on Windows (using clang-cl). This allows us to see
> platform-specific lines.
>  * **grcov improvements** - now faster than before, and can process llvm
> coverage output
>  * **jsdcov e10s** - We had to verify that coverage was getting
> collected by all processes
>  * **frontend refinements** - There has been continued work on the
> frontend to meet Release Management's use cases.  Another cohort of
> UCOSP students has helped fix bugs, and added functionality to the
> frontend. 
>  * **variability analysis** - Coverage at the Firefox-scale has
> variability from many different sources. For instance, running the same
> test on the same revision multiple times shows differences from one run
> to the next. Plus, in some other cases, tests fail, which results in
> different coverage. These situations were explored in more detail to
> better understand what variability we are dealing with.
>  * **jsdcov vs jsvm** - Both are collecting coverage on javascript; they
> appear to be capturing different coverage; we must look into this more
>  * **bugs!** - Many bugs, timing bugs in the tests, and bugs in the
> coverage collection/reporting pipeline.
>  * **android experiments** - Android will be be given more focus in the
> coming year, so we should look at how coverage will help.
>  * **backend improvements** - Work that must be done to deal with data
> volume, but is barely visible to the end user. 
>  * **backend moved to production** - CodeCoverage has moved to
> production; and this took time.
>  * **subtracting baselines** - We reduce our coverage artifact size by
> subtracting no-test coverage from test coverage.  In theory, after
> subtraction, the coverage represents what is uniquely used by the test
> and removes all standard browser/test start and shutdown coverage.
> However, we have found that coverage variability is affecting these
> results as well and are now looking into mitigation strategies.
>  * **per test coverage** - One of our goals is to collect coverage at
> the test level; this can help guide what tests should be run when a file
> changes. It may also help with understanding gaining a deeper
> understanding of what our tests are testing.
> 
> ## The Future
> 
>   * **move off codecov.io** - Our data volume and our use cases, do not
> fit with codecov.io. We will use our own database to store coverage
> artifacts, and enable us to do more. 
>   * **per test coverage** - One of our goals is to collect coverage at
> the test level; this can help guide what tests should be run when a file
> changes. It might also help understanding which tests are important
> (e.g. for evaluating whether to disable or fix intermittent tests)
>   * **compare coverage across revisions** - We want to markup the
> coverage so a reasonable comparison can be done