Announcing the new `group` step type

Screenshot of code using the new `group` step, and the resulting UI

Teams with large and complex pipelines can now use the new group step type to better organize their pipelines ✨. The group step allows steps to be displayed in logical groupings and nested under a top level group, displayed as the step label on the build page 🏗 👀

An example use case might be the grouping of your package security audits. This would provide a clear visual indicator if any of your packages have failed their audits, have potential security vulnerabilities and need upgrading, allowing you to quickly diagnose and resolve any issues before moving on to deployment related steps 🩺 💻 💗

steps: - group: "🔏 Security Audits" id: "audits" depends_on: - "docker" - "linting" steps: - label: ":brakeman: Brakeman" command: ".buildkite/steps/brakeman" - label: ":bundleaudit: Bundle Audit" command: ".buildkite/steps/bundleaudit" - label: ":yarn: Yarn Audit" command: ".buildkite/steps/yarn"

The optional depends_on attribute creates dependencies between collections of steps. For example, "audits" might depends_on everything in the "docker" step and "linting" group passing first. If any steps in the "linting" group fail the build won't move on to run any of the steps in the "audits" group.

So as well as reducing visual complexity, the new group step allows teams more control in modeling their pipeline flows, optimizing for performance and diagnostics.

For more information check out the documentation 📚

Welcome to your new minimalist and organized pipelines ✨