Great, so it’s pretty straightforward in selecting which scheme should be archived in the Archive step.
I am just thinking out loud now, when I say I just need to somehow know whether it should build the iOS scheme, or the tvOS scheme, based on a yet to define selector. This could either be a tag on a commit (like ‘tv’ or ‘ios’), or even separate master/develop branches for each target. Would this be the recommended way? Or Is there some other solution I am missing here
Well, that’s quite an unusual setup to be honest; the usual way is to have the two separate codes in two separate repos, if you don’t want to test, build, publish etc. at the same time.
You definitely can do this, but might require a lot of scripting, as there’s no built in way to get “what changed”. You can of course get these infos from git, using e.g. a Script step and calling git commands, but then you’ll have to define things like “changed - compared to what?”. For example, should this be compared to the previous commit? To master? To something else?
So, in short, this setup is not a trivial one, but if you have any questions, we’re always happy to help
@bennet did you arrive at a good solution? We are in the same boat, and are considering creating seperate apps so that the steps remain simple, especially as having multiple of the same steps causes issues as they overrwrite each others outputs (both envs and artifacts)
We’re also working on First class mono repo support , which can help if you indeed want to register separate apps instead on bitrise.io for the same repo. If you’d prefer that, please vote & comment there so that you’ll be notified once the feature is released!
Of course if you have any questions in the meantime just let us know!