Introducing mr.roboto

classic Classic list List threaded Threaded
8 messages Options
Eric Steele Eric Steele
Reply | Threaded
Open this post in threaded view
|

Introducing mr.roboto

As one of the main tasks of the Barcelona Testing Sprint, Timo, Ramon and I have created a new toy for the group. mr.roboto is a new middleware tool that will handle interactions between our code on GitHub and our Jenkins testing infrastructure. 

The first thing you'll notice is that our coredev test results will finally be linked back to the commits that initiated them. Yay! Plus we'll have the option of letting everyone know exactly who broke the build. Boo!

This is the part I'm really excited about though...

In an effort to make sure that our contribution story: has a low barrier to entry for potential contributors; allows the community to make quick, informed decisions about merging new code; and does so in a way that doesn't sacrifice build quality, mr.roboto will be helping us manage our pull requests.

The general flow of the pull process will be:

* User submits a pull request
* mr.roboto checks all committers on that pull for core contributor rights. We're assuming the Developers team on Github to be the canonical listing. 
If a committer does not appear in that group, mr.roboto will comment on the pull, providing a link to the Contributor Agreement. We'll have to rely on you lovely humans to resolve any cases where a signed contributor isn't in that list.
* mr.roboto checks to see which branches of buildout.coredev are using the package branch targed by the pull request. A Jenkins job will be created against each coredev branch and add a comment to the pull request containing the urls of those tests. See https://github.com/esteele/Products.Archetypes/pull/4#issuecomment-13351612 for an example. 
* Those Jenkins jobs will attempt a merge of the pull request before running the full core test suite. On completion, they'll report back to the pull request.
* As additional changes to the pull request are made, mr.roboto will check the status of any new committers and kick off test runs.
* Jenkins will continue to test the pull against updates to coredev at regular intervals (likely nightly).
* When the pull request is merged or otherwise closed, mr.roboto will delete the related Jenkins jobs. 

Possible future features:
* Add packages to checkouts.cfg when the pull request is merged.
* Check for changelog entries. 
* Plonechievements?

mr.roboto is still very much a sprint-quality product, but it's ready enough that we can start rolling it out in the next few weeks.

Eric

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Elizabeth Leddy-2 Elizabeth Leddy-2
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

Brilliant and thanks for the awesome work!

On Feb 11, 2013 8:43 PM, "Eric Steele" <[hidden email]> wrote:
As one of the main tasks of the Barcelona Testing Sprint, Timo, Ramon and I have created a new toy for the group. mr.roboto is a new middleware tool that will handle interactions between our code on GitHub and our Jenkins testing infrastructure. 

The first thing you'll notice is that our coredev test results will finally be linked back to the commits that initiated them. Yay! Plus we'll have the option of letting everyone know exactly who broke the build. Boo!

This is the part I'm really excited about though...

In an effort to make sure that our contribution story: has a low barrier to entry for potential contributors; allows the community to make quick, informed decisions about merging new code; and does so in a way that doesn't sacrifice build quality, mr.roboto will be helping us manage our pull requests.

The general flow of the pull process will be:

* User submits a pull request
* mr.roboto checks all committers on that pull for core contributor rights. We're assuming the Developers team on Github to be the canonical listing. 
If a committer does not appear in that group, mr.roboto will comment on the pull, providing a link to the Contributor Agreement. We'll have to rely on you lovely humans to resolve any cases where a signed contributor isn't in that list.
* mr.roboto checks to see which branches of buildout.coredev are using the package branch targed by the pull request. A Jenkins job will be created against each coredev branch and add a comment to the pull request containing the urls of those tests. See https://github.com/esteele/Products.Archetypes/pull/4#issuecomment-13351612 for an example. 
* Those Jenkins jobs will attempt a merge of the pull request before running the full core test suite. On completion, they'll report back to the pull request.
* As additional changes to the pull request are made, mr.roboto will check the status of any new committers and kick off test runs.
* Jenkins will continue to test the pull against updates to coredev at regular intervals (likely nightly).
* When the pull request is merged or otherwise closed, mr.roboto will delete the related Jenkins jobs. 

Possible future features:
* Add packages to checkouts.cfg when the pull request is merged.
* Check for changelog entries. 
* Plonechievements?

mr.roboto is still very much a sprint-quality product, but it's ready enough that we can start rolling it out in the next few weeks.

Eric

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Steve McMahon Steve McMahon
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

This is mind-blowingly cool. All hail the testing sprint!


On Tue, Feb 12, 2013 at 10:27 AM, Elizabeth Leddy <[hidden email]> wrote:

Brilliant and thanks for the awesome work!

On Feb 11, 2013 8:43 PM, "Eric Steele" <[hidden email]> wrote:
As one of the main tasks of the Barcelona Testing Sprint, Timo, Ramon and I have created a new toy for the group. mr.roboto is a new middleware tool that will handle interactions between our code on GitHub and our Jenkins testing infrastructure. 

The first thing you'll notice is that our coredev test results will finally be linked back to the commits that initiated them. Yay! Plus we'll have the option of letting everyone know exactly who broke the build. Boo!

This is the part I'm really excited about though...

In an effort to make sure that our contribution story: has a low barrier to entry for potential contributors; allows the community to make quick, informed decisions about merging new code; and does so in a way that doesn't sacrifice build quality, mr.roboto will be helping us manage our pull requests.

The general flow of the pull process will be:

* User submits a pull request
* mr.roboto checks all committers on that pull for core contributor rights. We're assuming the Developers team on Github to be the canonical listing. 
If a committer does not appear in that group, mr.roboto will comment on the pull, providing a link to the Contributor Agreement. We'll have to rely on you lovely humans to resolve any cases where a signed contributor isn't in that list.
* mr.roboto checks to see which branches of buildout.coredev are using the package branch targed by the pull request. A Jenkins job will be created against each coredev branch and add a comment to the pull request containing the urls of those tests. See https://github.com/esteele/Products.Archetypes/pull/4#issuecomment-13351612 for an example. 
* Those Jenkins jobs will attempt a merge of the pull request before running the full core test suite. On completion, they'll report back to the pull request.
* As additional changes to the pull request are made, mr.roboto will check the status of any new committers and kick off test runs.
* Jenkins will continue to test the pull against updates to coredev at regular intervals (likely nightly).
* When the pull request is merged or otherwise closed, mr.roboto will delete the related Jenkins jobs. 

Possible future features:
* Add packages to checkouts.cfg when the pull request is merged.
* Check for changelog entries. 
* Plonechievements?

mr.roboto is still very much a sprint-quality product, but it's ready enough that we can start rolling it out in the next few weeks.

Eric

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers



------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Dylan Jay Dylan Jay
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

In reply to this post by Eric Steele

---
Dylan Jay
Technical Solutions Manager
PretaWeb: Multisite Performance Support
P: +612 80819071 | M: +61421477460 | twitter.com/pretaweb | linkedin.com/in/djay75



On 12/02/2013, at 3:42 PM, Eric Steele <[hidden email]> wrote:

> As one of the main tasks of the Barcelona Testing Sprint, Timo, Ramon and I have created a new toy for the group. mr.roboto is a new middleware tool that will handle interactions between our code on GitHub and our Jenkins testing infrastructure.
>
> The first thing you'll notice is that our coredev test results will finally be linked back to the commits that initiated them. Yay! Plus we'll have the option of letting everyone know exactly who broke the build. Boo!
>
> This is the part I'm really excited about though...
>
> In an effort to make sure that our contribution story: has a low barrier to entry for potential contributors; allows the community to make quick, informed decisions about merging new code; and does so in a way that doesn't sacrifice build quality, mr.roboto will be helping us manage our pull requests.
>
> The general flow of the pull process will be:
>
> * User submits a pull request
> * mr.roboto checks all committers on that pull for core contributor rights. We're assuming the Developers team on Github to be the canonical listing.
> If a committer does not appear in that group, mr.roboto will comment on the pull, providing a link to the Contributor Agreement. We'll have to rely on you lovely humans to resolve any cases where a signed contributor isn't in that list.
> * mr.roboto checks to see which branches of buildout.coredev are using the package branch targed by the pull request. A Jenkins job will be created against each coredev branch and add a comment to the pull request containing the urls of those tests. See https://github.com/esteele/Products.Archetypes/pull/4#issuecomment-13351612 for an example.

This is very very cool.
So if I have a change thats in two repos, I also create a branch in buildout.coredev and then I'm not sure what the next step is? I change the buildout in that branch so that mr.developer checks out the branches of my packages with the changes?


> * Those Jenkins jobs will attempt a merge of the pull request before running the full core test suite. On completion, they'll report back to the pull request.
> * As additional changes to the pull request are made, mr.roboto will check the status of any new committers and kick off test runs.
> * Jenkins will continue to test the pull against updates to coredev at regular intervals (likely nightly).
> * When the pull request is merged or otherwise closed, mr.roboto will delete the related Jenkins jobs.
>
> Possible future features:
> * Add packages to checkouts.cfg when the pull request is merged.
> * Check for changelog entries.
> * Plonechievements?
>
> mr.roboto is still very much a sprint-quality product, but it's ready enough that we can start rolling it out in the next few weeks.
>
> Eric
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________
> Plone-developers mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/plone-developers


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
hvelarde hvelarde
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

In reply to this post by Eric Steele
awesome! kudos to Timo, Ramon and Eric :-)

Héctor Velarde



------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers

smime.p7s (5K) Download Attachment
Eric Steele Eric Steele
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

In reply to this post by Dylan Jay
On Tuesday, February 12, 2013 at 6:17 PM, Dylan Jay wrote:
This is very very cool.
So if I have a change thats in two repos, I also create a branch in buildout.coredev and then I'm not sure what the next step is? I change the buildout in that branch so that mr.developer checks out the branches of my packages with the changes?

We intentionally skipped that use case. Just too convoluted to handle right now. For me at least, it's also more incentive for all of you to finish https://dev.plone.org/ticket/13283. 

Eric

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ramon Navarro Bosch Ramon Navarro Bosch
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

Hey !!!

Mr.Roboto is alive and begins to work!

We have an initial version that checks commits from core-dev related packages and allow to add individual packages!!

Right now pulls doesn't work properly, but soon !

Ramon


On 13 February 2013 17:37, Eric Steele <[hidden email]> wrote:
On Tuesday, February 12, 2013 at 6:17 PM, Dylan Jay wrote:
This is very very cool.
So if I have a change thats in two repos, I also create a branch in buildout.coredev and then I'm not sure what the next step is? I change the buildout in that branch so that mr.developer checks out the branches of my packages with the changes?

We intentionally skipped that use case. Just too convoluted to handle right now. For me at least, it's also more incentive for all of you to finish https://dev.plone.org/ticket/13283

Eric

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers




--
Ramon a.k.a bloodbare

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Dylan Jay Dylan Jay
Reply | Threaded
Open this post in threaded view
|

Re: Introducing mr.roboto

In reply to this post by Eric Steele

On 14/02/2013, at 3:37 AM, Eric Steele <[hidden email]> wrote:

> On Tuesday, February 12, 2013 at 6:17 PM, Dylan Jay wrote:
>> This is very very cool.
>> So if I have a change thats in two repos, I also create a branch in buildout.coredev and then I'm not sure what the next step is? I change the buildout in that branch so that mr.developer checks out the branches of my packages with the changes?
>
> We intentionally skipped that use case. Just too convoluted to handle right now. For me at least, it's also more incentive for all of you to finish https://dev.plone.org/ticket/13283.

Won't that create extra noise if I create a change across many packages since both branches in both packages will start to get mr.roboto test failed messages?
Perhaps we need a way to mark a branch as relying on another package to prevent mr.roboto from doing the test?


>
> Eric


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers