Share workflow across multiple apps

Description of the feature request

It’d be nice to define a workflow once and then share it across multiple apps.

Use case / for what or how I would use it

I want to run the following before steps in many jobs:

  • Disable Git LFS
  • Git Clone
  • Cancel build using selective builds
  • Report git clone to slack

Currently that means manually defining and repeating the steps in each job. I’d like to define the logic once on the website and use the workflow everywhere.

Great idea, thanks for the #feature-request @bootstraponline! :wink:

This is a great idea! Our organisation has around 10-15 apps already (and this number will only increase), and each of them has several workflow with roughly 65-75% shared steps even between the workflows themselves. There are certainly some optimisations we’ve been considering on our end (e.g. unifying some of these into their own flows, e.g. ‘startup flow’, ‘deploy flow’ and just adding any specific steps in between, - but these are still bound by the app they’re in. Getting shared workflows would help a ton with onboarding new devs and overall time saving and process robustness. Voting this up :slight_smile:

2 Likes

Thanks for the details @Alexei!

One thing that can help is if you store the yml in the repo or in a shared place, and you only specify a “bootstrapping” config on bitrise.io which defines how the repo is retrieved (git clone) then it just runs the config from the repo or from anywhere you like (e.g. from a gist, there’s pretty much no limit :wink: )

Related docs: https://devcenter.bitrise.io/tips-and-tricks/use-bitrise-yml-from-repository/

+1 We have about more than 50 apps (x2 since it’s per platform, so more than 100 apps) on our organization and this is major bottleneck to use Bitrise. We had used other CI platform for a long time, and we were trying to migrate over to Bitrise. However, due to lacking this shared workflow feature, this is blocking us from migrating.

Unless there’s shared workflow, we would have to manually create each individual one and if there’s a change that we would like to apply across all apps, then we would have to go and edit individual one.

Although we saw that it’s possible to use shared yaml file, but that would then limit us to not be able to use native Bitrise environment parameters and build our own UI in front of it to modify parameters which is a cost that we don’t want to pursue.

We really need this shared workflow feature to reduce our cost of migrating and maintaining the apps in Bitrise, and hopefully this feature can be on the roadmap soon.

+1 Is there any progress or milestone for this feature? I would also like to share steps and workflows in all apps.