Orbs are great as reusable components but also considerably tidy up individual components as part of single, complicated build setups.
Currently there is a way to do local, "private" orbs "locally" by including the orb configuration under a key in
.circleci/config,yml
. However this still means we must maintain a giant singular yml file which can grow to thousands of lines potentially with all the workflows etc.
A "simple" solution for local orbs would be if circleci read additional .yml files in
.circleci/orbs/*
for a given project and merged the contents under the
orbs
key.
This effectively means that the yml contents of
.circleci/orbs/hello.yml
would be equivalent to defining the same content under
orbs: hello:
This allows circleci build components to be worked on in modular fashion and provides a step between a local orb that is "inline" and one that must be maintained completely externally from the project.
CCI-I-704