Large amount of steps/groups. Sections?

I have a build that has over 90 individual steps AND groups.

That looks like the below. We’re using groups already in many of these.

This is still hard to read through and it’s difficult to find steps or multiple steps.

Is there a way to create “sections” or something? The below is a mockup, because I don’t know what I’m looking for :joy:

But, it would be nice to have all the dozen testing steps/groups together, all of the building/bundling/etc. steps together.

Hi Matthew :waving_hand: ,

Thank you for reaching out to Buildkite Support.

At the moment, we don’t support nested groups or “sections within sections”; group steps are only one level deep.

For a pipeline of your size, in addition to the grouping that you are already implementing, the best approach is to split it into multiple pipelines using trigger steps. This would let you organize your dozen testing steps into a “Testing” pipeline, your build/bundle steps into a “Build” pipeline, etc. Each would have its own build page that’s much easier to navigate, and you can use trigger steps to orchestrate between them and maintain dependencies.

For example, your main pipeline could have a structure like:

steps:
  - group: "Preparation"
    steps:
      - label: "Setup"
        command: "./setup.sh"
  
  - wait
  
  - trigger: "my-app-tests" # This is the slug of your testing pipeline
    label: "Run all tests"
    build:
      commit: "${BUILDKITE_COMMIT}" # commit to build in the triggered pipeline
      branch: "${BUILDKITE_BRANCH}" # branch to build in the triggered pipeline
  
  - trigger: "my-app-build" # This is the slug of your build pipeline
    label: "Build and bundle"
    build:
      commit: "${BUILDKITE_COMMIT}"
      branch: "${BUILDKITE_BRANCH}"
      meta_data:
        release-version: "1.1"

Then your test and build pipelines would each have their own logical groupings. The triggered builds appear as links in the parent build, so you maintain visibility of the overall process. You can find more here: Trigger step | Buildkite Documentation

Does splitting into separate pipelines via triggers sound workable for your setup?