Where are you reading docs that indicate that that is the structure of using aliases? The format that you are using is for ‘scalar values’. To do what you are expressing you would need to use the format for maps or sequences.
The correct answer is that this option is NOT possible due to YAML constraints.
Actually it is explicitly written in the link you mentioned:
" Note: As mentioned in a YAML repository issue, it is possible to merge maps, but not sequences (also called arrays or lists). For a more complex example, see this gist."
This is where things get complicated. The example of what you can not do is extended in the next post on the github thread which states
" First off, merge keys for objects use regular YAML syntax. ‘<<’ is a string key which some YAML loaders perform a merge operation on, and often in a manner incompatible with other YAML loaders. Many loaders treat a << key as a normal string key. Your YAML happens to be valid, but the value of array2 is the string '<< *my_array_alias - baz'.
In YAML 1.3, loaders will be encouraged not to support merge keys by default. It will become an optional feature. YAML is a data language in the same sense that JSON is. Programmatic features should not have ever been encouraged."
At the moment CircleCI’s yaml processor does support << as to how well and where it is supported I guess needs a level of R&D as the documentation is unclear. For my useage I am able to use it in the following way
So I am able to replicate the boilerplate code assigned to tag_filters across all the workflows.
If anyone is wondering the above is designed to do different CI tasks based on the tag assigned to a code commit. This is done by using the third-party service called Doppler as a secret store rather than CircleCI’s built-in solution. This way I can switch the secrets based on which tag is passed to the CI process.