[Hudson-Issues] [JIRA] Created: (HUDSON-8736) Emulator instances should be started after the project is built

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Hudson-Issues] [JIRA] Created: (HUDSON-8736) Emulator instances should be started after the project is built

JIRA issues@hudson.java.net
Emulator instances should be started after the project is built
---------------------------------------------------------------

                 Key: HUDSON-8736
                 URL: http://issues.hudson-ci.org/browse/HUDSON-8736
             Project: Hudson
          Issue Type: Improvement
          Components: android-emulator
    Affects Versions: 1.396
         Environment: all
            Reporter: kaeppler
            Assignee: orrc
            Priority: Minor


This is more a suggestion, and question at the same time since I don't know whether this is feasible at all.

What I find problematic at the moment is that an emulator is always started, even if the build fails before the test suite is run. If someone commits a change to an upstream project that will break compilation on the depending project, then an emulator is started for no reason, making the build take unnecessary time consuming.

I realize that this is a problem w.r.t. to hooking into the build system to know when is the right time to start the emulator. Since I don't know anything about Hudson internals this may well be not doable at all, but I was wondering if you think it's possible and reasonable to do?

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.hudson-ci.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       
Reply | Threaded
Open this post in threaded view
|

[Hudson-Issues] [JIRA] Commented: (HUDSON-8736) Emulator instances should be started after the project is built

JIRA issues@hudson.java.net

    [ http://issues.hudson-ci.org/browse/HUDSON-8736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=145679#action_145679 ]

orrc commented on HUDSON-8736:
------------------------------

Due to the way the plugin has to be written, I don't think this would be possible to do I'm afraid.

The plugin is a "BuildWrapper", which allows it to do some setup before the main build steps (i.e. creating and starting the AVD), and then allows some execution after the build completes (i.e. stopping the AVD process, disconnecting from ADB and archiving the log output).


There are however a couple of alternatives here:

1. Wait until the next plugin release where hopefully I will have AVD snapshots implemented, which should vastly reduce AVD startup time.

2. Build your APK in one Hudson job, and run the AVD+tests in a separate job, if compilation succeeded, i.e.:
   - Create Job A which:
     - checks out the source
     - builds the APKs
     - archives the APK artifacts
     - triggers Job B on success

   - Create Job B which:
     - starts an AVD
     - uses the "Copy Artifacts" plugin to copy *.apk from Job A
     - runs the Android test runner
     - parses JUnit results


> Emulator instances should be started after the project is built
> ---------------------------------------------------------------
>
>                 Key: HUDSON-8736
>                 URL: http://issues.hudson-ci.org/browse/HUDSON-8736
>             Project: Hudson
>          Issue Type: Improvement
>          Components: android-emulator
>    Affects Versions: 1.396
>         Environment: all
>            Reporter: kaeppler
>            Assignee: orrc
>            Priority: Minor
>
> This is more a suggestion, and question at the same time since I don't know whether this is feasible at all.
> What I find problematic at the moment is that an emulator is always started, even if the build fails before the test suite is run. If someone commits a change to an upstream project that will break compilation on the depending project, then an emulator is started for no reason, making the build take unnecessary time consuming.
> I realize that this is a problem w.r.t. to hooking into the build system to know when is the right time to start the emulator. Since I don't know anything about Hudson internals this may well be not doable at all, but I was wondering if you think it's possible and reasonable to do?

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.hudson-ci.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       
Reply | Threaded
Open this post in threaded view
|

[Hudson-Issues] [JIRA] Commented: (HUDSON-8736) Emulator instances should be started after the project is built

JIRA issues@hudson.java.net
In reply to this post by JIRA issues@hudson.java.net

    [ http://issues.hudson-ci.org/browse/HUDSON-8736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=145680#action_145680 ]

kaeppler commented on HUDSON-8736:
----------------------------------

that's a pretty good idea actually. That'll work for me.

Looking forward to the new release, thanks for your excellent work.

> Emulator instances should be started after the project is built
> ---------------------------------------------------------------
>
>                 Key: HUDSON-8736
>                 URL: http://issues.hudson-ci.org/browse/HUDSON-8736
>             Project: Hudson
>          Issue Type: Improvement
>          Components: android-emulator
>    Affects Versions: 1.396
>         Environment: all
>            Reporter: kaeppler
>            Assignee: orrc
>            Priority: Minor
>
> This is more a suggestion, and question at the same time since I don't know whether this is feasible at all.
> What I find problematic at the moment is that an emulator is always started, even if the build fails before the test suite is run. If someone commits a change to an upstream project that will break compilation on the depending project, then an emulator is started for no reason, making the build take unnecessary time consuming.
> I realize that this is a problem w.r.t. to hooking into the build system to know when is the right time to start the emulator. Since I don't know anything about Hudson internals this may well be not doable at all, but I was wondering if you think it's possible and reasonable to do?

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.hudson-ci.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira