Re: [webkit-dev] Standard process for exporting new WPT tests?

2018-05-25 Thread youenn fablet
> However, one thing I really like about your order is that it makes it more
> straightforward to make WPT repo failures block browser repo merging. In
> the WPT Travis job, we already detect flakiness for Chrome and Firefox and
> I think we should also detect harness errors, and eventually also flag when
> a test goes from passing everywhere to failing everywhere, which is
> probably a mistake. We haven't really figured out how to make that block
> Chromium's CQ yet, and maybe flipping the order would do it.
>

Exactly, WPT infrastructure has some really nice sanity checks that we do
not have in WebKit and it sounds really great to benefit from it.

That said, this will put some burden on WPT infrastructure like being fast
enough to not slow down our own process.

We should also probably run as much as possible the WPT sanity checks
locally.
We are now checking WPT linter as you suggested a while back.
Maybe there are some other WPT checks that could be run in the WebKit
context.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Standard process for exporting new WPT tests?

2018-05-25 Thread youenn fablet
> Interesting. What happens happens if the WebKit patch then fails to land
> in WebKit, perhaps because some bot fails the test, a conflict, or anything
> else? Is resolving that a manual affair?
>

If patch lands in WPT and not in WebKit due to conflicts, that is fine.
One will need to resolve the conflict manually as done for other conflicts.


>
> When imports are automated and much more frequent, I take it the upside is
> that you never need to reapply still-being-exported patches like we do in
> Blink. But what about the above case, when the change hasn't been applied
> in WebKit yet? Seems like the importer instead needs to *revert* the
> in-flight change?
>

I guess the question is if the change is made in WPT, not yet in WebKit and
we are reimporting in the middle.
In that case, we will probably have the new test failing, timing out or
crashing.
This will get fixed once the patch lands in WebKit (after conflict
resolution).
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Standard process for exporting new WPT tests?

2018-05-25 Thread Robert Ma
Current maintainer of Chromium's WPT sync chiming in:

Because of the lack of atomic operations across two separate repos, some
kind of transient inconsistency and race conditions are unavoidable.

FWIW, when Chromium's WPT sync was originally designed, there was concern
about increasing the wait time of landing a Chromium change, which partly
led to our design choice of landing the Chromium change first and then the
GitHub export PR. One important mechanism to avoid losing the Chromium
change (because of being overwritten by the next import) that hasn't been
mentioned is that *we re-apply landed-in-Chromium-but-not-merged-on-Github
patches during import*. Of course, this mechanism caused quite some extra
complexities, but has been working well for us.

The approach being taken by the WebKit community (merging GitHub PRs before
landing WebKit patches) is sound and should be simpler. And I'm very
excited to see more contributions to WPT!

On Fri, May 25, 2018 at 4:16 AM Philip Jägenstedt 
wrote:

> On Fri, May 25, 2018, 00:52 Ryosuke Niwa  wrote:
>
>>
>> On Thu, May 24, 2018 at 3:22 AM, Philip Jägenstedt 
>> wrote:
>>
>>> On Wed, May 23, 2018, 23:43 youenn fablet  wrote:
>>>
 Le mer. 23 mai 2018 à 14:11, Frédéric Wang  a écrit :

> On 23/05/2018 22:50, Ryosuke Niwa wrote:
> > As we have preciously discussed, we should NEVER commit new tests
> into
> > LayoutTests/imported/w3c/web-platform-tests.
>

 Ryosuke, correct me if I am wrong, I think you are pointing out the
 following rule:
 Changes to LayoutTests/imported/w3c/web-platform-tests tests should
 land first in WPT repository, then in WebKit repository.

>>>
>>> Oh, that is surprising.
>>>
>>> https://github.com/w3c/web-platform-tests/pull/10964 is a recent WebKit
>>> export, and https://trac.webkit.org/changeset/231788/webkit did modify
>>> the test in place. Do you mean that the WPT PR was merged first, or should
>>> be in general? Chromium and Gecko do it in the other order, and I'd be
>>> interested to understand the trade-offs of flipping the order.
>>>
>>
>> Yes, it's okay for a WebKit commit to merge the change which got merged
>> into WPT but it's never okay to first commit the test into WebKit and then
>> later upstream it to WPT...
>>
>> Any process like this where changes end up in WebKit trunk via anything
>>> except a full WPT import will mean that divergence is possible.
>>>
>>
>> Precisely to avoid these problems.
>>
>
> I'm saying that there's temporary divergence with the WPT-then-WebKit
> order as well.
>
> Whichever side is merged first, the other side can fail to merge because
> any number of reasons, and something/someone then needs to deal with that.
> (See question in reply to Youenn.)
>
> However, one thing I really like about your order is that it makes it more
> straightforward to make WPT repo failures block browser repo merging. In
> the WPT Travis job, we already detect flakiness for Chrome and Firefox and
> I think we should also detect harness errors, and eventually also flag when
> a test goes from passing everywhere to failing everywhere, which is
> probably a mistake. We haven't really figured out how to make that block
> Chromium's CQ yet, and maybe flipping the order would do it.
>
>> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Standard process for exporting new WPT tests?

2018-05-25 Thread Philip Jägenstedt
On Fri, May 25, 2018, 00:52 Ryosuke Niwa  wrote:

>
> On Thu, May 24, 2018 at 3:22 AM, Philip Jägenstedt 
> wrote:
>
>> On Wed, May 23, 2018, 23:43 youenn fablet  wrote:
>>
>>> Le mer. 23 mai 2018 à 14:11, Frédéric Wang  a écrit :
>>>
 On 23/05/2018 22:50, Ryosuke Niwa wrote:
 > As we have preciously discussed, we should NEVER commit new tests into
 > LayoutTests/imported/w3c/web-platform-tests.

>>>
>>> Ryosuke, correct me if I am wrong, I think you are pointing out the
>>> following rule:
>>> Changes to LayoutTests/imported/w3c/web-platform-tests tests should land
>>> first in WPT repository, then in WebKit repository.
>>>
>>
>> Oh, that is surprising.
>>
>> https://github.com/w3c/web-platform-tests/pull/10964 is a recent WebKit
>> export, and https://trac.webkit.org/changeset/231788/webkit did modify
>> the test in place. Do you mean that the WPT PR was merged first, or should
>> be in general? Chromium and Gecko do it in the other order, and I'd be
>> interested to understand the trade-offs of flipping the order.
>>
>
> Yes, it's okay for a WebKit commit to merge the change which got merged
> into WPT but it's never okay to first commit the test into WebKit and then
> later upstream it to WPT...
>
> Any process like this where changes end up in WebKit trunk via anything
>> except a full WPT import will mean that divergence is possible.
>>
>
> Precisely to avoid these problems.
>

I'm saying that there's temporary divergence with the WPT-then-WebKit order
as well.

Whichever side is merged first, the other side can fail to merge because
any number of reasons, and something/someone then needs to deal with that.
(See question in reply to Youenn.)

However, one thing I really like about your order is that it makes it more
straightforward to make WPT repo failures block browser repo merging. In
the WPT Travis job, we already detect flakiness for Chrome and Firefox and
I think we should also detect harness errors, and eventually also flag when
a test goes from passing everywhere to failing everywhere, which is
probably a mistake. We haven't really figured out how to make that block
Chromium's CQ yet, and maybe flipping the order would do it.

>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev