I’d like the ability to clone an existing app job.
Use case / for what or how I would use it
Creating new jobs is slow and flaky. Especially if they’re nearly identical. Cloning an existing job would dramatically increase the speed at which new apps can be added.
Just a question: we plan to provide an API endpoint to register a new App, where you’ll be able to provide a bitrise.yml for it right away (skipping the waiting time / scanner which would generate the yml). Would that be a suitable solution?
This would be much appreciated. My repos are non-public HTTPS repos which aren’t supported by the create-new-app wizard.
I currently have to create new apps by configuring and scanning arbitrary public GitHub repos and then changing the git URL to the real repo once the scanning is complete. It would be much better to clone an existing app.
Some reasons why app cloning would work currently where separate workflows within a single app do not:
PR trigger settings conflict with scheduled builds. E.g. if a PR merge to master happens while a scheduled build is running, then the running scheduled master build is aborted
display a badge for specific scheduled workflows (not branch). E.g. so I can have a table on my GitHub README page that shows a cross-table of build type (alpha, beta, prod) vs device type (iPhone 8, iPhone X, iPhone SE, iPad Air, …). Right now I need a separate app for each of these because the badge only provides for the git branch name (all devices use master)
various mono-repo situations. E.g. we currently have 1 repo that builds 4 iOS apps. So we have 4 apps minimum (which is unfortunate, because they all have the same settings except for one value)
Yes, each of these situations could be addressed some other way. E.g. segregating scheduled builds from PRs would be nice. And making badges more granular would be good. But for now, cloning is the least-worst solution. (I’m glad to having something that works, but maintaining them all is quite a task when one little thing needs to be changed!)
Yes, having a command line tool where we could pass in a bitrise.yml to configure every aspect would be great (including app name, app settings), as well as the workflow details.
We would like it. We have a mono repo and want to use the “select builds”. We have two iOS apps that get built. But it is quite onerous to have to completely copy over all the secrets, setup all the associated users, all the login accounts, setup GitHub again, setup the web hooks again. yes, copying the bitrise.yml is fine, but that is the easy part as we already have our own custom bitrise yml that we use. All of this is just to get to use the “selective builds” feature. Which is really a shame, since the idea of that feature is that you can have multiple apps use the same repo but trigger different workflows. Can we do that in a single app rather than separate apps?