Ceedling
Ceedling copied to clipboard
Ceedling fails on Ruby 3
We discovered this in our automated pipeline build, which was using the ruby:latest
Docker container. The "latest" container tag must have previously pointed to Ruby v2.7, but now it points to v3.0.
# ceedling
rake aborted!
ArgumentError: wrong number of arguments (given 2, expected 1)
/usr/src/myapp/lochutil/vendor/ceedling/lib/ceedling/file_wrapper.rb:62:in `touch'
/usr/src/myapp/lochutil/vendor/ceedling/lib/ceedling/dependinator.rb:7:in `touch_force_rebuild_files'
/usr/src/myapp/lochutil/vendor/ceedling/lib/ceedling/tasks_filesystem.rake:56:in `block in <top (required)>'
/usr/local/bundle/gems/ceedling-0.30.0/bin/ceedling:346:in `block in <top (required)>'
/usr/local/bundle/gems/ceedling-0.30.0/bin/ceedling:333:in `<top (required)>'
/usr/local/bundle/bin/ceedling:23:in `load'
/usr/local/bundle/bin/ceedling:23:in `<main>'
Tasks: TOP => default => test:all => directories
(See full trace by running task with --trace)
/usr/local/lib/ruby/3.0.0/fileutils.rb:598:in `rm_f': wrong number of arguments (given 2, expected 1) (ArgumentError)
from /usr/src/myapp/lochutil/vendor/ceedling/lib/ceedling/file_wrapper.rb:36:in `rm_f'
from vendor/ceedling/lib/../lib/ceedling/rakefile.rb:72:in `block in <top (required)>'
We were able to fix our build by pinning the version to ruby:2.7
, but this will be a more serious issue as time goes on...