Is there a difference between `run` vs. `type: shell` steps?

circle.yml
2.0

#1

I’ve been a little slow to move some of my projects over to 2.0 and am finally starting to do so now. I’ve noticed a lot of examples (in the docs and in discussions here) use steps like:

- type: shell
  command: |
    bundle exec rspec ...args etc...

(From https://circleci.com/docs/2.0/language-ruby/)

But the docs describing all the step types don’t mention anything like this: https://circleci.com/docs/2.0/configuration-reference/

Is this basically the same as a run step? Is it just deprecated beta syntax? (Seems like maybe a bare object for a step value is just considered a run step and then run maybe ignores type?) Or is it meaningfully different?

Apologies if this is a boneheaded question and I’ve missed something obvious.


#2

Hey so taking a look, that does indeed look to be leftover cruft from a previous syntax. You should be using run. I’ll make sure the doc for Ruby gets updated.


#3

Great, thanks so much for clarifying!


#4

I opened a PR on our Docs here to fix this. Thanks again.


#6