Good point on integrate it with CI.

Maybe what we all need is a way to run a subset of the bigtop ci locally ?  It 
sounds like it's getting close to
The point where this might be possible?

> On Feb 24, 2015, at 11:30 PM, Konstantin Boudnik <[email protected]> wrote:
> 
>> On Thu, Feb 19, 2015 at 09:57PM, Evans Ye wrote:
>> Sorry to chime in late. It was Chinese new year started yesterday. BTW,
>> happy new year to bigtop:)
> 
> Happy New Year!
> 
>> A script would be a lot of help for testing, so probably we can have a
>> directory to store some dev tools like this, or put it on wiki first.
> 
> Many years in the field thought me one thing: once you add little scriptlets
> to ease development workflow - you create a mess that will eat you eventually.
> If the scripts are detached - they will rot; if they are the part of the
> source code - they will inevitably inflate as all developers are different and
> they will want to get some tweak to meet there requirements. If we do anything
> - it has to be baked into the build system. But I don't we can do a generic
> enough tooling for every body.
> 
>> My origin question is about the patch naming convention.
>> In wiki
>> <https://cwiki.apache.org/confluence/display/BIGTOP/How+to+Contribute> we
>> suggest contributors to upload same name for different patch attempts to
>> better track the version.
>> A problem for this is that there's a scenario which I'd like to vimdiff two
>> different patches to know what has been changed. Same naming for patches
>> would require me to rename patches in different names by myself, which
>> might cause confusing, and probably result in a wrong version being
>> committed.
>> To be picky, named patches the same required tester to know how jira sort
>> the patches(asc or desc), which I think is a little bit non-intuition.
>> To sum up, I think it would be better to name them differently with a
>> simple version number.
> 
> If the name of the patch remains the same JIRA makes only the latest patch
> link to be bright blue and the rest of them are sorta grey'ish - which
> requires no thinking when you need to pick up the latest one. Otherwise, you
> one has to look at the series and understand whot's the sequence, or change
> the sort order, or else. Basically, I found same-name approach to be very
> consistent.
> 
> If you need to diff two patches you can always do 
>    wget oneversion
>    wget anotherversion
> and if second wget detects that the file with the same name already exists it
> will add a numerical suffix to the later download. It has been already
> thought through - just use the power of Unix tools ;)
> 
> As for the workflow - it's pretty straight, I think: 
> - download
> - apply 
> - build if needed
> - deploy (if a deployment script)
> - run tests (if required)
> - review/comment
> 
> The flow can be interrupted after each step if expectations aren't met.
> 
> Cos
> 
>> However, there might be a smarter way to do so. So it would be great if you
>> guys can share your magic how to do the testing:)
>> 2015/2/18 下午9:47 於 "jay vyas" <[email protected]> 寫道:
>> 
>> hi bigtop.  evans asked me an interesting question about how to maintain
>> patches and test them and so on without getting mixed up in the bigtop
>> patch review process.
>> 
>> testing patches is tricky sometimes in bigtop, esp with so many different
>> sections of the code base that we work on, and with needing to do things
>> like create VMs dockerfiles and so on.
>> 
>> This is all i do at the moment: A shell script which takes patch URL as
>> argument, creates a new git branch, clears vagrant boxes.  If folks have a
>> workflow in their head, we can use this or something similar to expand upon
>> for a unified test flow.
>> 
>> or maybe we can think of a creative way to  locally leverage and reuse the
>> jenkins work folks are doing?
>> 
>> 
>> #function to clean vagrant boxes, not in this snippet.
>> delete_vagrant_boxes
>> echo "Bigtop patch tester : $0, wgets the patch, applies in a new
>> unique-named branch"
>> if [ $# -eq 0 ]; then
>>   echo "USAGE: Takes patch url as input, applies it in a new branch"
>>   exit
>> fi
>> patch="`echo $1 | rev | cut -d'/' -f 1 | rev`"
>> echo "PATCH = $patch"
>> wget $1 -O /tmp/$patch
>> wc -l /tmp/*patch
>> 
>> echo "Checkout root branch and clean it?"
>> read x
>> git checkout jay_dev
>> git clean -i
>> 
>> echo "apply patch in new branch ?"
>> read x
>> git checkout jay_dev
>> git checkout -b "$patch-`date | tr ' ' '_' | tr ':' '_'`"
>> 
>> echo "apply patch now in this branch `git branch` .... ?"
>> read x
>> git am /tmp/$patch
>> # shows the applied patch.
>> git log | head
>> 
>> 
>> 
>> 
>> --
>> jay vyas

Reply via email to