Bug 89336

Summary: [GTK] Add a new webkit2 tests slave bot
Product: WebKit Reporter: Sergio Villar Senin <svillar>
Component: Tools / TestsAssignee: Sergio Villar Senin <svillar>
Status: RESOLVED FIXED    
Severity: Normal CC: lforschler, mrobinson, ossy, svillar, webkit.review.bot, wsiegrist
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 89679    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch ossy: review+

Description Sergio Villar Senin 2012-06-18 02:12:04 PDT
[GTK] Add a new webkit2 tests slave bot
Comment 1 Sergio Villar Senin 2012-06-18 02:13:05 PDT
Created attachment 148072 [details]
Patch
Comment 2 Sergio Villar Senin 2012-06-18 02:19:19 PDT
Setting the proper component and adding Lucas.

BTW Lucas, we would like to use the build from our 64bit release bot (as it already builds wk2) and just run the tests in this new bot. Is this the right approach?
Comment 3 Lucas Forschler 2012-06-18 10:50:35 PDT
Comment on attachment 148072 [details]
Patch

You are going to need to add a trigger to the builder you wish to use to supply the build to the test bot.  Look at the Apple Lion Debug (Build) bot as an example:

{ "name": "Apple Lion Debug (Build)", "type": "Build", "builddir": "lion-debug",
                      "platform": "mac-lion", "configuration": "debug", "architectures": ["x86_64"],
                      "triggers": ["lion-debug-tests-wk1", "lion-debug-tests-wk2"],
                      "slavenames": ["apple-xserve-2", "apple-xserve-10"]

Next you want to create a Triggerable scheduler with the same name:
example:
{ "type": "Triggerable", "name": "lion-debug-tests-wk1",
                      "builderNames": ["Apple Lion Debug WK1 (Tests)"]

Also, you'll need a password generated for your new slave.  If you want, I can configure that for you to use the same password as one of your other slaves to make it easy.  (they don't have to be unique.  Let me know what you'd prefer and I'll do that step for you)
Comment 4 Lucas Forschler 2012-06-18 10:59:22 PDT
Try something like:

{
                      "name": "GTK Linux 64-bit Release", "type": "BuildAndTest", "builddir": "gtk-linux-64-release",
                      "platform": "gtk", "configuration": "release", "architectures": ["x86_64"],
                      "slavenames": ["gtk-linux-slave-2"], "triggers": ['gtk-debug-tests"]
                    },

and


                    { "type": "Triggerable", "name": "gtk-debug-tests",
                      "builderNames": ["GTK Linux 64-bit Release WK2 (Tests)"]
Comment 5 Sergio Villar Senin 2012-06-19 02:30:52 PDT
Created attachment 148295 [details]
Patch
Comment 6 Sergio Villar Senin 2012-06-19 02:34:07 PDT
(In reply to comment #3)
> Also, you'll need a password generated for your new slave.  If you want, I can configure that for you to use the same password as one of your other slaves to make it easy.  (they don't have to be unique.  Let me know what you'd prefer and I'll do that step for you)

Yes please we need the credentials for the new slave. Regarding reusing an existing password I don't have a strong opinion, for me is almost the same using an existing one or a new password, so I'll let you decide on that.
Comment 7 Lucas Forschler 2012-06-20 15:23:32 PDT
Comment on attachment 148295 [details]
Patch

I don't believe you want to create a "GTK Linux 64-bit Release WebKit2 (Tests)", scheduler.  That should be removed. (Leave the trigger)
Comment 8 Sergio Villar Senin 2012-06-21 02:35:12 PDT
Created attachment 148753 [details]
Patch
Comment 9 Lucas Forschler 2012-06-21 09:33:40 PDT
Looks good.  The master should auto-restart when this lands.
Comment 10 Sergio Villar Senin 2012-06-21 10:26:16 PDT
Committed r120937: <http://trac.webkit.org/changeset/120937>
Comment 11 WebKit Review Bot 2012-06-21 11:02:07 PDT
Re-opened since this is blocked by 89679
Comment 12 Csaba Osztrogonác 2012-06-21 12:37:09 PDT
Comment on attachment 148753 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=148753&action=review

Remove r+, because it was rolled out.

> Tools/BuildSlaveSupport/build.webkit.org-config/config.json:143
> +                      "slavenames": ["gtk-linux-slave-2"], "triggers": ["gtk-linux-64-release-tests-wk2"]

The problem is that BuildAndTestFactory's contstructor 
can't handle triggers, now only BuildFactory can do it.

You have 2 options to fix it:
- Add triggers to BuildFactory similar to BuildAndTestFactory
- Modify gtk-linux-slave-2 from BuildAndTest to Build with trigger the WK1 and WK2 tester
Comment 13 Sergio Villar Senin 2012-06-22 04:27:13 PDT
Created attachment 148993 [details]
Patch

With this new version mastercfg_unittest.py runs smoothly
Comment 14 Csaba Osztrogonác 2012-06-22 06:00:42 PDT
Comment on attachment 148993 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=148993&action=review

LGTM, r=me. Please land it when most of the bots are IDLE to avoid problems with master restart.

> Tools/BuildSlaveSupport/build.webkit.org-config/config.json:143
> +                      "triggers": ["gtk-linux-64-release-tests-wk2"], "slavenames": ["gtk-linux-slave-2"]

Just a nit: Could you put them into two lines as the other builders does?
Comment 15 Sergio Villar Senin 2012-06-23 00:50:05 PDT
Committed r121089: <http://trac.webkit.org/changeset/121089>