Allow multiple android VDT step invocations

Continuing the discussion from Error 403 on subsequent Android VDT steps:

It should be possible to run both instrumentation and robo tests in the single build. However, only first Android VDT step invocation may be successful. Subsequent ones fail with error 403.

Thanks for the feature request @koral

We started tracking it internally, our Tooling team will get back to you here when they can :slight_smile:

Hey @koral :wave:

Thanks for the #feature-request! :wink:

We’ll provide support for this use case once the integration is out of beta.

In the meantime as a workaround you can trigger parallel builds https://devcenter.bitrise.io/builds/triggering-builds/trigger-multiple-workflows/ to run multiple VDT tests :slight_smile:

Hi,

is there another workaround for this issue? I have several library modules I’d like to test, so it’s not something I can do in parallel, because there would be many concurrencies.

Sorry for the bump!

Unfortunately there is no way around this at the moment, so make sure to vote for the request!

1 Like

You can trigger “children” builds one after another from “parent” workflow with waiting for those builds. In such case, no matter how many modules you have it will occupy up to 2 concurrencies.

You can trigger “children” builds one after another from “parent” workflow with waiting for those builds. In such case, no matter how many modules you have it will occupy up to 2 concurrencies.

But to do that you need 2 concurrencies and thus an Org Standard plan ($90/mo) or higher when maybe you do not want to pay that plan just because of this limitation of VDT with multi modules.

Many Android apps are now following the multimodule approach and with VDT is not posible to properly tests different modules.

With only one concurrency available you can just start children builds but without waiting for them. In such case you may need some additional config eg. when using GitHub: additional steps for setting statuses.

With only one concurrency available you can just start children builds but without waiting for them. In such case you may need some additional config eg. when using GitHub: additional steps for setting statuses.

Thanks for the answer @koral , but could you give me more details about that? Because I can not:

  1. Launch multiple workflows with the same trigger, already reported in here. The Bitrise UI doesn’t allow it.
  2. Make this solution work with just one concurrency plan, without having the first workflow waiting forever for the second one to be executed.

I guess you mean starting a workflow just after other one but what happens if the second one fails? The first one, triggered by a GitHub push for instance, could be successful and it would send a green check to GH when that’s not true. Github webhooks work with Bitrise app tokens, not with Bitrise workflow tokens so I can not distinguish them. About statuses, basically the same, Github detects events from the Bitrise app, not the workflows.

So, what’s the solution? Creating as many apps as modules you want to test with Virtual Device Testing? It would be a mess.

Thanks

1 Like

To mitigate issue 1. you can start new workflow at the end of current one, of course you need to disable waiting for child workflows.
Ad 2. not sure what exactly you are doing but you must not add Bitrise Wait for Build step.

Regarding GH checks, I meant that you should use: https://www.bitrise.io/integrations/steps/github-status and make statuses sent by it required in your GitHub repo configuration.