I'd be hugely in favor, however, this is not what the Apache Jenkins
supports right now, AFAIK. I've asked Infra about this awhile ago, but
nothing has moved yet. There was also a Jira issue about it, INFRA-11610.

On Thu, Oct 20, 2016 at 12:24 PM, Amit Sela <amitsel...@gmail.com> wrote:

> Hi all,
>
> I'd like to discuss options to execute ROS tests (per runner) more
> efficiently, and explore the option of running them on PreCommit, as
> opposed to PostCommit as they run today.
>
> The SDK provides a set of tests called "RunnableOnService" (aka ROS) that
> can be applied to a runner and validate it (correctly) supports SDK
> features.
> It's 300+ tests in total (batch + streaming) and it clearly takes time, and
> that is why it runs on PostCommit.
> I think we should look for a configuration where this is executed
> more efficiently and if possible run on PreCommit since runners are
> encouraged to rely on those tests and it's better to know of breaking
> changes before hand.
>
> This came up somewhere in this
> <https://github.com/apache/incubator-beam/pull/1055> conversation, and the
> highlights are basically:
>
> Kenneth Knowles suggested we might parallelize sub-builds in the following
> manner:
>
>    1. Run unit tests.
>    2. (sub tasks) Run ROS tests for each runner in parallel, skipping unit
>    tests.
>
> I was wondering if we could setup Jenkins to run ROS per runner only of
> there was a code change for that runner - of course SDK changes will
> probably have to run ROS for all runners, but that might still be an
> optimization.
>
> I think one of Beam's best sell-points is it's extensive testing framework,
> and the fact that runners can be validated across capabilities, but it
> would be best to know of runner-braking changes before merging to master.
>
> Thoughts ?
>
> Thanks,
> Amit
>

Reply via email to