On Fri, Oct 4, 2013 at 9:58 AM, Menard, Alexis <alexis.men...@intel.com>wrote:
> > On Oct 4, 2013, at 1:54 AM, Raphael Kubo da Costa < > raphael.kubo.da.co...@intel.com> wrote: > > > (Changing subject to something more on-topic) > > > > "Ketrenos, James P" <james.p.ketre...@intel.com> writes: > >> On Thu, Oct 3, 2013 at 1:14 PM, Caio Marcelo de Oliveira Filho < > >> caio.olive...@intel.com> wrote: > >> > >>> On Thu, Oct 03, 2013 at 11:09:59PM +0300, Raphael Kubo da Costa wrote: > >>>> While this is technically possible, it goes in the opposite direction > of > >>>> what we've been doing so far and what we've agreed upon: > >> > >> When requirements for the automated Canary build system were originally > >> discussed, it was indicated that if the build for a platform fails, that > >> platform won't have a Canary release that day. If that changed, I wasn't > >> aware of it. > > > > Sigh, apparently this is something I discussed in private with Alexis, > > so I apologize if you weren't aware of it. > > > > So your suggestion for the long-term is to bump the versions in the > > repository and publish canaries if at least one of the platforms builds > > succesfully, right? > > > > For example, there could be no crosswalk-1.29.25.0.zip for Android even > > if crosswalk-1.29.25.0-0-i586.rpm was published and the version files in > > the crosswalk repository say it is at 1.29.25.0. > > I don't think this is the way it works for Chromium and I strongly > disagree with bumping the canary if only one platform build/work. > The Canary build number should be bumped any time there is an attempt at a build, regardless of the binary publication policy. Chromium has this policy of closing the tree when it gets on fire, we don't > have this mechanism but we should at least aim for something similar in > another way. If the Canaries are not building it's a big red flag for the > project. We broke our top important platforms. > I completely agree if commits are landing which are breaking the build on different platforms, those commits need to be fixed. However, the Canary release point is not the correct process location for this enforcement to occur. Failures in the Canary build system may not be in the code; it could be the hardware, it could be a network connection issue, it could be any random assortment of reasons. If a canary try fails to build for a given platform we should all try to > fix the broken stuff no matter what it is. Who is "we" ? The entire Crosswalk development community? Not everyone in the Crosswalk community is a core developer of Crosswalk itself; you have application developers, extension developers, validation teams, etc. > It may be that an hypothetical patch broke Android and it was not related > to Android specific files, we should all care about the entire product. > Ideally that patch should be reverted by "infrastructure" (human, buildbot, whatever) before the Canary build ever kicks in. If the Canary happens to fire off after a broken commit has landed and before it has been reverted, that sucks--no canary for that platform on that day. 24 hours, and there will be a new Canary. The timing of when the Canary build fires off is such that it will minimize the time when patches are actively landing in tree--so ideally any breakage would have been reverted before the Canary is executed. It's giving a confusing message to the public : why Tizen is version XXX > and Android is version XXX+2 (or 3, or 4) for example if they get out of > sync. Keep the target audience in mind -- the "public" (HTML5 Application Writers and end-users looking to run those applications) should be pulling Beta (and eventually Stable) images. Canaries are not advertised for platforms that have stabilization branches (which is all of them right now.) Canaries are for active developers, most likely extension developers (since "core" developers would be building their own Crosswalk from source). For an extension developer, if new functionality I need landed in tree Monday, and the Canary the next day doesn't exist on Android, I can still load the Tizen version in my Tizen emulator and continue my extension development. And if the Tizen version explodes on me, hey, its a Canary. YMMV. > In the reports of QA at least they will test the same canary version with > no potential intermediate patches in between. What if these delta of > patches fixes bugs, Let's go through a use case: If validation tests on Monday and there wasn't an Android build on Monday, Monday won't have any validation results for Android. For that, validation can file one bug "crosswalk-2.31.7.0 does not exist for Android". Ideally, they would have crosswalk-2.31.7.0 for the Tizen platform they can test. If they find a bug on Monday with crosswalk-2.31.7.0 on Tizen, the bug filed would be "Feature X is broken" and it would state "Tested on 2.31.7.0 on Tizen". The developers for feature X saw the bug reported against 2.31.7.0 and fixed it. They mark it Fixed in 2.31.8.0 (the next canary scheduled at the time they fixed the bug.) On Tuesday, there would be a new Canary (crosswalk-2.31.8.0). Hopefully the build for Android is fixed and QA can again validate on Android. QA verifies the fix in crosswalk-2.31.8.0 on Tizen. It works! Yay. They add a comment to the bug "verified on crosswalk-2.31.8.0 on Tizen" At this point they also have an Android build, and they attempt the functionality there. Yay it works, or crikey its broken! Either direction--they can add a note to the bug providing that information, and re-open the bug if appropriate. it's going to be a nightmare to understand why it passes on Android and not > on Tizen, you'll have to manually think "oh yes the canary of Tizen is > older so it doesn't contain the patch" making QA reports confusing at best. > There isn't a generic "canary of Tizen" there is crosswalk-2.31.7.0 on Tizen, or crosswalk-2.31.6.0 on Tizen, or crosswalk-2.31.8.0 on Android. All Issues filed and QA reports, to be useful, must explicitly reference the specific crosswalk version. In all of this, ideally, Canary builds should never be breaking for one platform and not another--that should be caught and corrected by other layers of SCM. However, if they do break, it shouldn't be blocking forward progress of individuals that could have benefited by having the latest Canary for *any* platform. The above process is similar for the Beta branches as well, only not necessarily only in regard to whether it builds, but whether it passes validation. Should crosswalk-1.29.5.0 be blocked for Tizen if on Android 1.29.5.0 crashes? What if 1.29.5.0 is fixing a bug that only existed on Tizen and there is no reason to update Android to 1.29.5.0? Should a new 25M binary be pushed to every Android device even though there was no actual change? James > Thanks. > > > _______________________________________________ > > Crosswalk-dev mailing list > > Crosswalk-dev@lists.crosswalk-project.org > > https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev > > _______________________________________________ > Crosswalk-dev mailing list > Crosswalk-dev@lists.crosswalk-project.org > https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev >
_______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev