Return-Path: X-Original-To: apmail-lucenenet-dev-archive@www.apache.org Delivered-To: apmail-lucenenet-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 58CCE10D8C for ; Sun, 7 Dec 2014 04:53:06 +0000 (UTC) Received: (qmail 14980 invoked by uid 500); 7 Dec 2014 04:53:06 -0000 Delivered-To: apmail-lucenenet-dev-archive@lucenenet.apache.org Received: (qmail 14937 invoked by uid 500); 7 Dec 2014 04:53:06 -0000 Mailing-List: contact dev-help@lucenenet.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucenenet.apache.org Delivered-To: mailing list dev@lucenenet.apache.org Received: (qmail 14925 invoked by uid 99); 7 Dec 2014 04:53:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Dec 2014 04:53:05 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,TVD_FROM_1 X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of itamar.synhershko@gmail.com designates 209.85.214.181 as permitted sender) Received: from [209.85.214.181] (HELO mail-ob0-f181.google.com) (209.85.214.181) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Dec 2014 04:52:38 +0000 Received: by mail-ob0-f181.google.com with SMTP id gq1so2337815obb.12 for ; Sat, 06 Dec 2014 20:51:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type; bh=V/nLmlz0sKYvVh2gmGe5BxLiGKFn/nUbwJpI6XVy4LA=; b=CRKPhKHXhfCsZLgejfRrdmIRT+7YX4SsKXD3sB2sBh30jc4A9s88Sg/VARsZYpaOPU UlWS4ddjKIFUh8rByO4ugTyDm4i8tnSL6UryGOLyA3R0PkSU5b4DqUHhG79JUMhgiX8o pnOeFNw2zZteGT9jFdkPqUwnlOuWDZ+eC6TvqgR0TGoJxp/rGHC+S7gxN7tqoepRp3sC SHZl0x2eGPPh21WPeyCZLN7RroSHbVZ8cNnOYfIJdzk+4z7WGmphgQfD9QzExSEgjPf5 xz5I5YYUtC7wWRxS9LBqxlcICLn0pvFsK7RjArTLtoWBfZdRiDB3loEJLekWcQmMh0tT U+Fg== MIME-Version: 1.0 X-Received: by 10.60.73.138 with SMTP id l10mr3715371oev.28.1417927911826; Sat, 06 Dec 2014 20:51:51 -0800 (PST) Sender: itamar.synhershko@gmail.com Received: by 10.182.197.98 with HTTP; Sat, 6 Dec 2014 20:51:51 -0800 (PST) In-Reply-To: References: Date: Sun, 7 Dec 2014 06:51:51 +0200 X-Google-Sender-Auth: cZGKSK-2FB_s8VGCuQaQsWYLB2E Message-ID: Subject: Re: Setting up the CI pipeline From: Itamar Syn-Hershko To: "dev@lucenenet.apache.org" Content-Type: multipart/alternative; boundary=001a1134ba64806ca605099911c6 X-Virus-Checked: Checked by ClamAV on apache.org --001a1134ba64806ca605099911c6 Content-Type: text/plain; charset=UTF-8 Hi Wyatt, I wonder if you have any good news for us on this? Thanks -- Itamar Syn-Hershko http://code972.com | @synhershko Freelance Developer & Consultant Author of RavenDB in Action On Mon, Nov 24, 2014 at 4:48 PM, Wyatt Barnett wrote: > So, after fighting a number of teething problems -- many of them self > inflicted -- I've got a solid, repeatable test run that finishes in 38 > minutes or so on our hardware. > > I can certainly reprise this setup over on teamcity.codebetter.com without > much effort. We will need to merge some changes into things before > proceeding -- the current state of tests in the trunk will just hang if we > tried to run them there. I'm guessing I'll need to sign a contributing > agreement here as I don't believe I filed one. > > On Tue, Nov 18, 2014 at 5:19 PM, Wyatt Barnett > wrote: > > > Sounds good, we'll be [Explicit()] with reason. > > > > On Tue, Nov 18, 2014 at 5:06 PM, Itamar Syn-Hershko > > wrote: > > > >> Yes, but Explicit() will help us isolate those issues from other real > bugs > >> we can concentrate on solving in parallel. > >> > >> -- > >> > >> Itamar Syn-Hershko > >> http://code972.com | @synhershko > >> Freelance Developer & Consultant > >> Author of RavenDB in Action > >> > >> On Wed, Nov 19, 2014 at 12:01 AM, Wyatt Barnett < > wyatt.barnett@gmail.com> > >> wrote: > >> > >> > [Ignore()] is good too, I actually prefer a slightly nuanced version > >> called > >> > [Explicit()] as that lets you still fire off the test from resharper > or > >> > nunit gui. > >> > > >> > That said I proposed Assert.Fail() here because we can put the failure > >> > point at the *exact* point where the folks should start debugging this > >> from > >> > versus having them start a at a whole test or test fixture. > >> > > >> > On Tue, Nov 18, 2014 at 4:56 PM, Itamar Syn-Hershko < > itamar@code972.com > >> > > >> > wrote: > >> > > >> > > Don't forget to stick a reason to the Ignore property tho! > >> > > > >> > > -- > >> > > > >> > > Itamar Syn-Hershko > >> > > http://code972.com | @synhershko > >> > > Freelance Developer & Consultant > >> > > Author of RavenDB in Action > >> > > > >> > > On Tue, Nov 18, 2014 at 11:55 PM, Itamar Syn-Hershko < > >> itamar@code972.com > >> > > > >> > > wrote: > >> > > > >> > > > Or just Skip (or Ignore, however that's called in NUnit) :) > >> > > > > >> > > > -- > >> > > > > >> > > > Itamar Syn-Hershko > >> > > > http://code972.com | @synhershko > >> > > > Freelance Developer & Consultant > >> > > > Author of RavenDB in Action > >> > > > > >> > > > On Tue, Nov 18, 2014 at 11:47 PM, Wyatt Barnett < > >> > wyatt.barnett@gmail.com > >> > > > > >> > > > wrote: > >> > > > > >> > > >> 5 minutes sounds like a reasonable going in proposition. That > said > >> > > >> depending on how many of these there are there might well be a > >> *lot* > >> > of > >> > > 5 > >> > > >> minute waits. > >> > > >> > >> > > >> Would it help if I just stuck Assert.Fails() where I run into > these > >> > > loops > >> > > >> for the folks smarter than I to run down? > >> > > >> > >> > > >> On Tue, Nov 18, 2014 at 4:37 PM, Itamar Syn-Hershko < > >> > itamar@code972.com > >> > > > > >> > > >> wrote: > >> > > >> > >> > > >> > 5 mins max for one test maybe? > >> > > >> > > >> > > >> > To fix that infinite loop we need to revisit the original Java > >> code, > >> > > >> most > >> > > >> > likely its porting of an iterator-style code that went wrong. I > >> hope > >> > > to > >> > > >> > have time to look at it next week, please anyone else who feels > >> like > >> > > it > >> > > >> > beat me to it.. > >> > > >> > > >> > > >> > -- > >> > > >> > > >> > > >> > Itamar Syn-Hershko > >> > > >> > http://code972.com | @synhershko < > https://twitter.com/synhershko > >> > > >> > > >> > Freelance Developer & Consultant > >> > > >> > Author of RavenDB in Action > >> > > >> > > >> > > >> > On Tue, Nov 18, 2014 at 11:13 PM, Wyatt Barnett < > >> > > >> wyatt.barnett@gmail.com> > >> > > >> > wrote: > >> > > >> > > >> > > >> > > So, after the 2nd day of watching the tests just spin I > decided > >> > > that a > >> > > >> > > little visibility might make sense as something just was not > >> > adding > >> > > up > >> > > >> > -- I > >> > > >> > > expected some failing tests, and some long-running tests but > >> there > >> > > >> just > >> > > >> > > ain't enough data here to keep something running for 8+ > hours. > >> > > >> > > > >> > > >> > > Anyhow, I stood up VS and the debugger and started looking > into > >> > > things > >> > > >> > and > >> > > >> > > I found that I was hitting at least one infiinte loop dealing > >> with > >> > > >> > > randomized values -- specifically at > >> > > >> > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > > >> > > >> > https://github.com/apache/lucene.net/blob/master/src/Lucene.Net.TestFramework/Index/BasePostingsFormatTestCase.cs#L394 > >> > > >> > > ; > >> > > >> > > > >> > > >> > > Anyhow, I'm not sure how to proceed here as if we want test > >> > > automation > >> > > >> > the > >> > > >> > > tests need to run through in a reasonable amount of time but > I > >> > don't > >> > > >> know > >> > > >> > > enough about the project to know what should run or not. One > >> > thought > >> > > >> > would > >> > > >> > > be to use nunit timeout attributes ( > >> > > >> > > http://www.nunit.org/index.php?p=timeout&r=2.5) to constrain > >> > > things. > >> > > >> If > >> > > >> > so > >> > > >> > > what is a reasonable timeout? > >> > > >> > > > >> > > >> > > I'm quite open to other, non kludgy thoughts too . . . > >> > > >> > > > >> > > >> > > On Tue, Nov 18, 2014 at 12:00 PM, Wyatt Barnett < > >> > > >> wyatt.barnett@gmail.com > >> > > >> > > > >> > > >> > > wrote: > >> > > >> > > > >> > > >> > > > I looked over GitVersion -- looks like a great fit for this > >> > > project > >> > > >> > > though > >> > > >> > > > it will require a bit of forethought about branching > >> strategies. > >> > > >> > > > > >> > > >> > > > I'll take a run at getting it integrated once I get through > >> the > >> > > test > >> > > >> > > suite > >> > > >> > > > running successfully. > >> > > >> > > > > >> > > >> > > > On Sat, Nov 15, 2014 at 11:59 AM, Itamar Syn-Hershko < > >> > > >> > itamar@code972.com > >> > > >> > > > > >> > > >> > > > wrote: > >> > > >> > > > > >> > > >> > > >> Inline > >> > > >> > > >> > >> > > >> > > >> -- > >> > > >> > > >> > >> > > >> > > >> Itamar Syn-Hershko > >> > > >> > > >> http://code972.com | @synhershko < > >> > https://twitter.com/synhershko > >> > > > > >> > > >> > > >> Freelance Developer & Consultant > >> > > >> > > >> Author of RavenDB in Action < > http://manning.com/synhershko/ > >> > > >> > > >> > > >> > >> > > >> > > >> On Sat, Nov 15, 2014 at 6:53 PM, Wyatt Barnett < > >> > > >> > wyatt.barnett@gmail.com > >> > > >> > > > > >> > > >> > > >> wrote: > >> > > >> > > >> > >> > > >> > > >> > Thanks. I registered at CodeBetter.com under wwb. Is > there > >> > any > >> > > >> > > >> > documentation on their TeamCity setup or someone who I > can > >> > > reach > >> > > >> out > >> > > >> > > to > >> > > >> > > >> > regarding questions about the build environment? > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > >> I'm asking around, will let you know > >> > > >> > > >> > >> > > >> > > >> > >> > > >> > > >> > > >> > > >> > > >> > Thanks for the rundown -- things sound pretty > >> straightforward > >> > > and > >> > > >> > > >> doable. > >> > > >> > > >> > One thing we'll need to think a bit a bout is how do we > >> want > >> > to > >> > > >> > manage > >> > > >> > > >> the > >> > > >> > > >> > git branching strategy to best integrate with TeamCity > and > >> > best > >> > > >> > > automate > >> > > >> > > >> > the release cycle. Doing things like constantly > building a > >> > > >> "trunk" > >> > > >> > and > >> > > >> > > >> > releasing based on tags are very doable. > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > >> Are you familiar with > >> > > https://github.com/ParticularLabs/GitVersion > >> > > >> ? > >> > > >> > > I'll > >> > > >> > > >> be interested in adopting this to our process. > >> > > >> > > >> > >> > > >> > > >> > >> > > >> > > >> > > >> > > >> > > >> > I've grabbed the code, looks like things are pretty > clean > >> in > >> > > >> terms > >> > > >> > of > >> > > >> > > >> being > >> > > >> > > >> > able to build and run cleanly. One question -- I > started > >> > > running > >> > > >> > the > >> > > >> > > >> test > >> > > >> > > >> > suite, it appears to execute about 80% successfully. I'm > >> > > >> presuming > >> > > >> > > this > >> > > >> > > >> is > >> > > >> > > >> > because we are still porting 4.8.0 here and is expected > >> > > behavior. > >> > > >> > > Please > >> > > >> > > >> > confirm. > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > >> Yes, we still have some failing tests. The hope is to also > >> > > utilize > >> > > >> > > >> TeamCity's reports to measure the affects of internal > >> changes > >> > we > >> > > >> make > >> > > >> > > >> faster. > >> > > >> > > >> > >> > > >> > > >> > >> > > >> > > >> > > >> > > >> > > >> > I'll take a few stabs at a build cycle over the next few > >> days > >> > > and > >> > > >> > see > >> > > >> > > >> what > >> > > >> > > >> > I can shake out. > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > >> > >> > > >> > > >> Thanks! > >> > > >> > > >> > >> > > >> > > >> > >> > > >> > > >> > > >> > > >> > > >> > On Sat, Nov 15, 2014 at 11:06 AM, Itamar Syn-Hershko < > >> > > >> > > >> itamar@code972.com> > >> > > >> > > >> > wrote: > >> > > >> > > >> > > >> > > >> > > >> > > Thanks Wyatt > >> > > >> > > >> > > > >> > > >> > > >> > > Can you please register at > >> http://teamcity.codebetter.com/ > >> > > and > >> > > >> > send > >> > > >> > > >> me > >> > > >> > > >> > > your > >> > > >> > > >> > > user name (privately if you prefer)? > >> > > >> > > >> > > > >> > > >> > > >> > > Please use the master branch of our Apache git git:// > >> > > >> > > >> > > git.apache.org/lucene.net.git - or the mirror at > >> > > >> > > >> > > https://github.com/apache/lucene.net (would rather > you > >> use > >> > > the > >> > > >> > > >> original > >> > > >> > > >> > > one > >> > > >> > > >> > > to avoid delays) > >> > > >> > > >> > > > >> > > >> > > >> > > The way I see it is this: > >> > > >> > > >> > > * Lucene.Net.TestFramework compiles and generates a > >> nuget > >> > > >> package > >> > > >> > > >> > > * Lucene.Net.Core and Lucene.Net.Tests compiles, > taking > >> > > >> dependency > >> > > >> > > on > >> > > >> > > >> > > Lucene.Net.TestFramework > >> > > >> > > >> > > * Lucene.Net.Tests is run and if successful versions > the > >> > > build > >> > > >> and > >> > > >> > > >> > > generates nuget on the local feed (we also have a > MyGet > >> > > >> account to > >> > > >> > > >> work > >> > > >> > > >> > > with) > >> > > >> > > >> > > * Same process to all sub-projects: Lucene.Net.Queries > >> for > >> > > >> > example: > >> > > >> > > >> > > * Compile > >> > > >> > > >> > > * Compile Lucene.Net.Tests.Queries > >> > > >> > > >> > > * Run tests from Lucene.Net.Tests.Queries (take > >> > dependency > >> > > on > >> > > >> > > >> > > Lucene.Net.TestFramework) > >> > > >> > > >> > > * Create nuget for Lucene.Net.Queries > >> > > >> > > >> > > * Every sub-project should be re-compiled and tests > >> re-run > >> > if > >> > > >> the > >> > > >> > > >> > projects > >> > > >> > > >> > > it depends on have changed (you can probably separate > >> the > >> > > >> cases by > >> > > >> > > >> > defining > >> > > >> > > >> > > watch folders under src\) > >> > > >> > > >> > > > >> > > >> > > >> > > We can then iterate from there. > >> > > >> > > >> > > > >> > > >> > > >> > > I updated the README to explain the new structure > >> > > >> > > >> > > > >> > > >> https://github.com/apache/lucene.net/blob/master/README.md#files > >> > > >> > - > >> > > >> > > >> let > >> > > >> > > >> > me > >> > > >> > > >> > > know if you have any questions. > >> > > >> > > >> > > > >> > > >> > > >> > > -- > >> > > >> > > >> > > > >> > > >> > > >> > > Itamar Syn-Hershko > >> > > >> > > >> > > http://code972.com | @synhershko < > >> > > >> https://twitter.com/synhershko> > >> > > >> > > >> > > Freelance Developer & Consultant > >> > > >> > > >> > > Author of RavenDB in Action < > >> > http://manning.com/synhershko/> > >> > > >> > > >> > > > >> > > >> > > >> > > On Sat, Nov 15, 2014 at 5:51 AM, Wyatt Barnett < > >> > > >> > > >> wyatt.barnett@gmail.com> > >> > > >> > > >> > > wrote: > >> > > >> > > >> > > > >> > > >> > > >> > > > That would be great -- let me know what I need to do > >> to > >> > > help > >> > > >> > make > >> > > >> > > >> that > >> > > >> > > >> > > > happen. > >> > > >> > > >> > > > > >> > > >> > > >> > > > In the meantime I've got a teamcity server to work > >> with > >> > > here, > >> > > >> > > >> should I > >> > > >> > > >> > be > >> > > >> > > >> > > > looking at > >> > > >> > > >> > > > >> > > https://github.com/synhershko/lucene.net/tree/Lucene.Net_4.8.0 > >> > > >> > > >> > > > as the project layout. > >> > > >> > > >> > > > > >> > > >> > > >> > > > Also, what is envisioned for the output of the build > >> > > >> pipeline? > >> > > >> > > Many > >> > > >> > > >> > > things > >> > > >> > > >> > > > are within the art of the possible. > >> > > >> > > >> > > > > >> > > >> > > >> > > > On Fri, Nov 14, 2014 at 9:08 PM, Prescott Nasser < > >> > > >> > > >> > geobmx540@hotmail.com> > >> > > >> > > >> > > > wrote: > >> > > >> > > >> > > > > >> > > >> > > >> > > > > Would love the help setting this up - Itamar do > you > >> > know > >> > > >> if we > >> > > >> > > can > >> > > >> > > >> > > > provide > >> > > >> > > >> > > > > Wyatt access for this? > >> > > >> > > >> > > > > ________________________________ > >> > > >> > > >> > > > > From: Wyatt Barnett wyatt.barnett@gmail.com> > >> > > >> > > >> > > > > Sent: 11/14/2014 4:26 PM > >> > > >> > > >> > > > > To: dev@lucenenet.apache.org >> > > >> dev@lucenenet.apache.org> > >> > > >> > > >> > > > > Subject: Re: Setting up the CI pipeline > >> > > >> > > >> > > > > > >> > > >> > > >> > > > > I do a lot of CI and CD and I've got loads of seat > >> time > >> > > >> with > >> > > >> > > >> > TeamCity, > >> > > >> > > >> > > I > >> > > >> > > >> > > > > would be happy to help the cause. > >> > > >> > > >> > > > > > >> > > >> > > >> > > > > On Fri, Nov 14, 2014 at 5:49 AM, Itamar > Syn-Hershko > >> < > >> > > >> > > >> > > itamar@code972.com> > >> > > >> > > >> > > > > wrote: > >> > > >> > > >> > > > > > >> > > >> > > >> > > > > > Heya, > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > So JetBrains and CodeBetter have setup a > TeamCity > >> > > account > >> > > >> > for > >> > > >> > > >> us - > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > >> > > >> > > >> > > > > >> > > >> > > >> > > > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > > >> > > >> > > >> > > >> > >> > > > >> > > >> > http://teamcity.codebetter.com/project.html?projectId=LuceneNet&tab=projectOverview > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > I have asked them to add Prescott and Troy as > >> > > >> collaborators, > >> > > >> > > so > >> > > >> > > >> we > >> > > >> > > >> > 3 > >> > > >> > > >> > > > have > >> > > >> > > >> > > > > > access to change stuff there. > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > The idea is to have every sub-project (Core, > >> Codecs, > >> > > >> > Queries, > >> > > >> > > >> > Facets, > >> > > >> > > >> > > > > etc) > >> > > >> > > >> > > > > > compile and available as a nuget package, and > also > >> > > >> > thoroughly > >> > > >> > > >> > tested > >> > > >> > > >> > > > via > >> > > >> > > >> > > > > > the test agents on TeamCity. > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > Prescott, Troy - you said you can work on > setting > >> > this > >> > > >> up, > >> > > >> > > will > >> > > >> > > >> be > >> > > >> > > >> > > > happy > >> > > >> > > >> > > > > > for you to go ahead and do this now. > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > If there's anyone else on this list who has > >> > experience > >> > > >> with > >> > > >> > > >> > TeamCity > >> > > >> > > >> > > > and > >> > > >> > > >> > > > > > setting up CI pipelines, please drop us a line > if > >> you > >> > > are > >> > > >> > > >> willing > >> > > >> > > >> > to > >> > > >> > > >> > > > help > >> > > >> > > >> > > > > > with this effort. > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > Cheers, > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > -- > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > Itamar Syn-Hershko > >> > > >> > > >> > > > > > http://code972.com | @synhershko < > >> > > >> > > >> https://twitter.com/synhershko> > >> > > >> > > >> > > > > > Freelance Developer & Consultant > >> > > >> > > >> > > > > > Author of RavenDB in Action < > >> > > >> http://manning.com/synhershko/ > >> > > >> > > > >> > > >> > > >> > > > > > > >> > > >> > > >> > > > > > >> > > >> > > >> > > > > >> > > >> > > >> > > > >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > > > > >> > > >> > > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > > > >> > > > > >> > > > >> > > >> > > > > > --001a1134ba64806ca605099911c6--