We are developing KMM cross-platform project for Android na iOS in single repository.
We have 2 Bitrise projects and we’d like to use “Selective Builds” in order to avoid ruing CI if changes do not impact certain platform.
Modules (or directories) in our app are either platform specific
or contains common modules (reusable on each platform)
If we make a changes in code in common module, we’d to run both
iOS CI, but if we do changes only in platform specific module - e.g.
androidApp we’d to run only android CI.
Selective builds allow include directories triggering CI , so in this example in Android CI we would have
but this is not flexible solution, because each time we add new common module we need to add new path to bitrise
Much more flexible solution would be to offer
negation in pattern matching, so my selective build would look like the following:
If there is any other way to exclude iOS modules from selective build (besides skipping workflow - which returns failed build) please tell me.
This is a great idea thanks for sharing
I looked around and I think that you can use the same patterns as the ones described here
There is no negation but you should be able to negate ios, with
@atanas-bitrise I’ve applied Your in form of following regex
Preliminary it works as expected, so Build run every time changes in any module except the one starting with
ios - e.g.
However, I noticed Bitrise Build Github’s Check appears in PR with quite a long delay - about 10 -15 seconds after something new is pushed to repository. Our repository is super small and has only 5 modules in project root, so it shouldn’t take long for Bitris to determinate when fire up workflow
Firstly, I am glad that it worked
Is the delay happening every time? For example, can we rule out network latency?
Did you see the details of the GitHub webhook? If I am not mistaken, there should be a timestamp. After the GitHub webhook fires, it is transformed to a Bitrise webhook which will start the build.
Was the build delayed or was it just queued and it started later?
Also, could you confirm that you’re not experiencing this delay when you’re not using Selective Builds or when you’re using it with a different pattern?
Atanas I will measure with next PR’s.