Ruby version support in cookbook metadata


#1

Hey Chefs,
I’m sure much of the community is split between ruby 1.8.7 and 1.9.* still, and as time goes on the chance of cookbooks appearing with 1.9 only syntax only increases. I guess the current method of declaring this rests either in checks within the cookbooks themselves, or in cookbook comments on the community site (http://community.opscode.com/cookbooks/metachef/comments).

What do you guys think of adding a “supported ruby” attribute in cookbook metadata? Perhaps with ‘supported’ and ‘unsupported’ values for version (then anything undeclared would be ‘untested’)? Something like that anyway, and then it could be displayed on the community site.

http://community.opscode.com/ideas/26

Ant


Anthony Goddard
Woods Hole Marine Biological Laboratory


#2

On Thu, Apr 5, 2012 at 8:13 PM, Anthony Goddard agoddard@mbl.edu wrote:

I’m sure much of the community is split between ruby 1.8.7 and 1.9.* still,
and as time goes on the chance of cookbooks appearing with 1.9 only syntax
only increases. I guess the current method of declaring this rests either in
checks within the cookbooks themselves, or in cookbook comments on the
community site (http://community.opscode.com/cookbooks/metachef/comments).

What do you guys think of adding a “supported ruby” attribute in cookbook
metadata? Perhaps with ‘supported’ and ‘unsupported’ values for version
(then anything undeclared would be ‘untested’)? Something like that anyway,
and then it could be displayed on the community site.

http://community.opscode.com/ideas/26

From IRC the other day:

| Is there any guidance on recommended/required versions of ruby to
run Chef with?
| I’ve been working just fine with ruby 1.8.7, but I’ve hit some
cookbooks from the
| community site that are apparently coded in ruby 1.9 and cause
syntax errors with
| my current installation. I’m hesitant/reluctant to possibly break
other cookbooks if I
| jump up to 1.9.x, and I’ve not seen any docs on opscode that gives
guidance to
| cookbook authors on what they should

It does seem to be a problem for folks, particularly when Ruby is new to them.

Do we need more than a ‘ruby’ field and using the same operators we
use for cookbook versions? Granted we have more control over our
cookbook versions than we do of Ruby, but I suspect the kind of
Control we’re really talking about is something like ‘>= 1.9.3’

Bryan


#3

Hey Bryan,
That sounds good to me. I guess my thought with being more explicit was to emphasize the difference between unsupported and untested, but ‘>=1.9.3’ etc definitely seems more elegant.

Ant

On Apr 5, 2012, at 9:13 PM, Bryan McLellan wrote:

On Thu, Apr 5, 2012 at 8:13 PM, Anthony Goddard agoddard@mbl.edu wrote:

I’m sure much of the community is split between ruby 1.8.7 and 1.9.* still,
and as time goes on the chance of cookbooks appearing with 1.9 only syntax
only increases. I guess the current method of declaring this rests either in
checks within the cookbooks themselves, or in cookbook comments on the
community site (http://community.opscode.com/cookbooks/metachef/comments).

What do you guys think of adding a “supported ruby” attribute in cookbook
metadata? Perhaps with ‘supported’ and ‘unsupported’ values for version
(then anything undeclared would be ‘untested’)? Something like that anyway,
and then it could be displayed on the community site.

http://community.opscode.com/ideas/26

From IRC the other day:

| Is there any guidance on recommended/required versions of ruby to
run Chef with?
| I’ve been working just fine with ruby 1.8.7, but I’ve hit some
cookbooks from the
| community site that are apparently coded in ruby 1.9 and cause
syntax errors with
| my current installation. I’m hesitant/reluctant to possibly break
other cookbooks if I
| jump up to 1.9.x, and I’ve not seen any docs on opscode that gives
guidance to
| cookbook authors on what they should

It does seem to be a problem for folks, particularly when Ruby is new to them.

Do we need more than a ‘ruby’ field and using the same operators we
use for cookbook versions? Granted we have more control over our
cookbook versions than we do of Ruby, but I suspect the kind of
Control we’re really talking about is something like ‘>= 1.9.3’

Bryan