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.
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.
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:
Launch multiple workflows with the same trigger, already reported in here. The Bitrise UI doesn’t allow it.
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.
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.
Any updates or new workarounds for this? I’m trying to run UI tests for multiple variants of our app, and splitting them across multiple running workflows is not ideal.
Thanks @jeremyp ,
With pipeline, will the build number for the ones ran in parallel be the same?
That is our use-case. We want to produce several app-builds (for [staging,prod]*flavours variant combinations) with the same build number, as we moved to tying the Bitrise build number with the app build version number (version code on Android).
The build numbers should indeed be the same . It’s probably worth creating a small proof of concept pipeline to check that it behaves the way you need it to