Workflow editor should not allow edits to chained workflows

Description of the feature request

I find the workflow editor confusing when chaining workflows inside a “parent” workflow. I should not be able to edit these chained workflows while looking at a parent workflow.

Today I duplicated a workflow (ParentWorkflow) which included multiple chained workflows (Child1, Child2). I was trying to slim down a build for testing and was removing steps from my newly duplicated flow. What I didn’t realize, however, is that the steps I was removing were from Child1.

If you think of a function (func1) and calling other functions (func2), I don’t see the source for func2 inside of func1… in order to change the source of func2 I need to view that source directly. Example:
Real code:

func func1() {
  // Blah blah
  func2()
  // Blah blah
}

func func2() {
  // func 2 code here
}

Bitrise workflow editor:

func func1() {
  // Blah blah
  func2()
  // func2 code here
  // Blah blah
}

If you are going to show the steps for a chained workflow, it should be more clear that you are editing a different workflow than the one you currently have selected for editing. The chained workflow should likely be read-only here, OR it needs to be more clear that you are editing a chained workflow and not the one selected. See attached image. I should not be able to edit the “setup” workflow while editing the “deploy-ios” workflow.

Thanks for sharing this idea,

I am wondering if it would make sense to show something in the UI letting you know how many other workflows use the Utility workflow.

eg. “Used by 4 other workflows”

Usually I would duplicate the workflow I want to edit but it requires a lot of clicks.

Maybe an easy duplicate button for Utility Workflows could be a nice compromise.

I do like that I can edit Utility Workflows in line with the rest of the Utility Workflows to save on click but see your point about how it can result in accidental edits