Thank you for your thorough reply!
Are you sure about needing to have bash installed?
Yes. I distinctly remembered this being the case.
have you tried using the machine executor
I know it possible using the machine executor but there are two reason why I wouldn’t want to go down that road:
The executor spins up a new vm instead of launching a docker image which is slower
(by far more important) If I use the cache to build image I can only store the final images (no build steps in-between). It is those build steps in-between that I am interested in having for the next build as they contain the downloaded dependencies and such. This would improve my caching setup and overall experience with circleci massively!
Should we make this more obvious?
It would have definitely helped me if this was more clear. Rather than adding documentation though I would be all for changing it into a map/object/dictionary rather than an array. This way other people (that didn’t read the docs) would also understand this immediately. Good names, good life
Can you create a separate post for this in the 2.0 support subcategory?
I can not promise you but I will try to spend some time to properly summarize this issue.
“stages” is a hashmap and not an array because we intend to expand this section with other types of sections with different semantics.
In other sections of the yaml files you specify different “types” of steps. It would seem only natural and consistent to me if each step had its own type… but maybe that i just me.
- type: deployment
The short answer to this is that we recommend against using mutable tags.
I understand the reasoning of this and tbh. I wasn’t quite sure if I should bring it up. In my case though I was developing and publishing the base image myself and tagging the image felt like a nuisance.