s2i-ruby-container
s2i-ruby-container copied to clipboard
Add Ruby 3.3
For testing, I'm using Ruby from my COPR, as it's built for c9s/c8s etc.
You can find the changes here: https://github.com/pvalena/s2i-ruby-container/tree/3.3-experimental
And I've also pushed the built images for testing: https://github.com/sclorg/s2i-ruby-container/pull/507#issuecomment-1896559402
Testing c9s, c8s, rhel9 and rhel8 now.
I have managed to make rails-ex work for Ruby 3.3 as well as with all other releases.
Test logs: https://gist.github.com/pvalena/88b5e670e3d8a1bbbc44ee6521708a6f
@jackorp @phracek PTAL.
[test][test-openshift]
I've pushed images for testing:
quay.io/s2i-ruby/fedora:3.3-experimental
quay.io/s2i-ruby/c8s:3.3-experimental
quay.io/s2i-ruby/c9s:3.3-experimental
Can we merge this? Is anything else needed from my side?
Looking at commits you probably didn't follow the flow outlined in the contributing file: https://github.com/sclorg/welcome/blob/master/contribution.md#2-add-sources in that the commit history seems lost on the 3.3 directory.
You're right, sorry, I forgot about that.
BTW there also seem to be some more steps related to the individual tests compared to the last time I touched containers. Actually there is "enable testing" step that should happen as a PR and merged before this one...
BTW there also seem to be some more steps related to the individual tests compared to the last time I touched containers. Actually there is "enable testing" step that should happen as a PR and merged before this one...
You're right, but I thought I've enabled forgot to check... will fix
[test][test-openshift]
(Fixed git history, Ready for Review)
@phracek @jackorp
Tests failed here:
echo ' [PASSED] for '\''db'\'' test_docker_run_usage (00:00:00)
[PASSED] for '\''db'\'' test_application (00:00:01)
[FAILED] for '\''db'\'' test_connection (00:00:11)
[PASSED] for '\''db'\'' test_scl_variables_in_dockerfile (00:00:00)
[FAILED] for '\''db'\'' test_scl_usage (00:00:01)
[PASSED] for '\''db'\'' test_npm_functionality (00:00:04)
[PASSED] for '\''puma'\'' test_docker_run_usage (00:00:01)
[PASSED] for '\''puma'\'' test_application (00:00:01)
[PASSED] for '\''puma'\'' test_connection (00:00:00)
[PASSED] for '\''puma'\'' test_scl_variables_in_dockerfile (00:00:00)
[PASSED] for '\''puma'\'' test_scl_usage (00:00:01)
[PASSED] for '\''puma'\'' test_npm_functionality (00:00:04)
[PASSED] for '\''rack'\'' test_docker_run_usage (00:00:01)
[PASSED] for '\''rack'\'' test_application (00:00:01)
[PASSED] for '\''rack'\'' test_connection (00:00:01)
[PASSED] for '\''rack'\'' test_scl_variables_in_dockerfile (00:00:00)
[PASSED] for '\''rack'\'' test_scl_usage (00:00:01)
[PASSED] for '\''rack'\'' test_npm_functionality (00:00:03)
[FAILED] for '\''from_dockerfile'\'' test_from_dockerfile (00:04:14)
[FAILED] for '\''from_dockerfile'\'' test_from_dockerfile_s2i (00:04:07)
The log from test_connection
is:
-----------------------------------------------
+ test_connection
++ container_ip
+++ cat /tmp/tmp.2D2lbgSdp4/./tmp.RSX58iohdd.cid
++ docker inspect '--format={{ .NetworkSettings.IPAddress }}' 089a34a5f0baa1c946e4d4333f947dacf822883391c7d77aa79a7d2cc6f40544
+ info 'Testing the HTTP connection (http://10.88.0.8:8080)'
+ echo -e '\n\e[1m[INFO] Testing the HTTP connection (http://10.88.0.8:8080)...\e[0m\n'
[1m[INFO] Testing the HTTP connection (http://10.88.0.8:8080)...[0m
+ local max_attempts=10
+ local sleep_time=1
+ local attempt=1
+ local result=1
+ '[' 1 -le 10 ']'
+++ container_ip
++++ cat /tmp/tmp.2D2lbgSdp4/./tmp.RSX58iohdd.cid
+++ docker inspect '--format={{ .NetworkSettings.IPAddress }}' 089a34a5f0baa1c946e4d4333f947dacf822883391c7d77aa79a7d2cc6f40544
++ curl -s -w '%{http_code}' -o /dev/null http://10.88.0.8:8080/
+ response_code=000
+ status=7
+ '[' 7 -eq 0 ']'
+ attempt=2
+ sleep 1
Parsing options from the first comment line is deprecated!
/opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/session/cookie.rb:7: warning: base64 was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile or gemspec. Also contact author of rack-2.2.8 to add base64 into its gemspec.
/opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/notifications/fanout.rb:3: warning: mutex_m was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add mutex_m to your Gemfile or gemspec. Also contact author of activesupport-6.1.7.6 to add mutex_m into its gemspec.
/opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/xml_mini.rb:5: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec. Also contact author of activesupport-6.1.7.6 to add bigdecimal into its gemspec.
/usr/share/ruby/bundled_gems.rb:74:in `require': Error loading the 'mysql2' Active Record adapter. Missing a gem it depends on? /opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mysql2-0.5.3/mysql2/mysql2.so: undefined symbol: rb_tainted_str_new2 - /opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mysql2-0.5.3/mysql2/mysql2.so (LoadError)
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/mysql2-0.5.3/lib/mysql2.rb:36:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/mysql2_adapter.rb:7:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:1205:in `resolve_pool_config'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:1046:in `establish_connection'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_handling.rb:52:in `establish_connection'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:64:in `database='
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1273:in `set'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:58:in `database_file='
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1273:in `set'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:41:in `registered'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1455:in `block in register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1453:in `each'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1453:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1947:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:2008:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:88:in `<module:Sinatra>'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:12:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/config/database.rb:1:in `<top (required)>'
from /opt/app-root/src/app.rb:2:in `require_relative'
from /opt/app-root/src/app.rb:2:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/config.ru:2:in `block in <main>'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `eval'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `new_from_string'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:105:in `load_file'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:66:in `parse_file'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:349:in `build_app_and_options_from_config'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:249:in `app'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:422:in `wrapped_app'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:312:in `block in start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:379:in `handle_profiling'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:311:in `start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:168:in `start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/bin/rackup:5:in `<top (required)>'
from /opt/app-root/src/bundle/ruby/3.3.0/bin/rackup:25:in `load'
from /opt/app-root/src/bundle/ruby/3.3.0/bin/rackup:25:in `<main>'
/usr/share/ruby/bundled_gems.rb:74:in `require': /opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mysql2-0.5.3/mysql2/mysql2.so: undefined symbol: rb_tainted_str_new2 - /opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mysql2-0.5.3/mysql2/mysql2.so (LoadError)
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/mysql2-0.5.3/lib/mysql2.rb:36:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/mysql2_adapter.rb:7:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `block in require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:299:in `load_dependency'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activesupport-6.1.7.6/lib/active_support/dependencies.rb:332:in `require'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:1205:in `resolve_pool_config'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:1046:in `establish_connection'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/activerecord-6.1.7.6/lib/active_record/connection_handling.rb:52:in `establish_connection'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:64:in `database='
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1273:in `set'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:58:in `database_file='
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1273:in `set'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:41:in `registered'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1455:in `block in register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1453:in `each'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1453:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1947:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:2008:in `register'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:88:in `<module:Sinatra>'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/sinatra-activerecord-2.0.22/lib/sinatra/activerecord.rb:12:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/config/database.rb:1:in `<top (required)>'
from /opt/app-root/src/app.rb:2:in `require_relative'
from /opt/app-root/src/app.rb:2:in `<top (required)>'
from /usr/share/ruby/bundled_gems.rb:74:in `require'
from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require'
from /opt/app-root/src/config.ru:2:in `block in <main>'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `eval'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `new_from_string'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:105:in `load_file'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/builder.rb:66:in `parse_file'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:349:in `build_app_and_options_from_config'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:249:in `app'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:422:in `wrapped_app'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:312:in `block in start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:379:in `handle_profiling'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:311:in `start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/lib/rack/server.rb:168:in `start'
from /opt/app-root/src/bundle/ruby/3.3.0/gems/rack-2.2.8/bin/rackup:5:in `<top (required)>'
from /opt/app-root/src/bundle/ruby/3.3.0/bin/rackup:25:in `load'
from /opt/app-root/src/bundle/ruby/3.3.0/bin/rackup:25:in `<main>'
+ '[' 2 -le 10 ']'
If I am reading the logs correctly the mysql2 failure is a bit problematic, AFAICT the problem is coming from this repo: https://github.com/openshift/ruby-hello-world which is using the mysql2 gem. We should be, in theory, able to just upgrade that gem.
skimmed the logs, also saw some postgresql failures:
pg_result.c: In function 'init_pg_result':
pg_result.c:1590:65: error: 'rb_cData' undeclared (first use in this function)
1590 | rb_cPGresult = rb_define_class_under( rb_mPG, "Result", rb_cData
);
| ^~~~~~~~
pg_result.c:1590:65: note: each undeclared identifier is reported only once for
each function it appears in
make: *** [Makefile:249: pg_result.o] Error 1
make failed, exit code 2
Gem files will remain installed in
/opt/app-root/src/bundle/ruby/3.3.0/gems/pg-1.2.3 for inspection.
Results logged to
/opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/pg-1.2.3/gem_make.out
/usr/share/rubygems/rubygems/ext/builder.rb:125:in `run'
/usr/share/rubygems/rubygems/ext/builder.rb:51:in `block in make'
/usr/share/rubygems/rubygems/ext/builder.rb:43:in `each'
/usr/share/rubygems/rubygems/ext/builder.rb:43:in `make'
/usr/share/rubygems/rubygems/ext/ext_conf_builder.rb:42:in `build'
/usr/share/rubygems/rubygems/ext/builder.rb:193:in `build_extension'
/usr/share/rubygems/rubygems/ext/builder.rb:227:in `block in build_extensions'
/usr/share/rubygems/rubygems/ext/builder.rb:224:in `each'
/usr/share/rubygems/rubygems/ext/builder.rb:224:in `build_extensions'
/usr/share/rubygems/rubygems/installer.rb:852:in `build_extensions'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/rubygems_gem_installer.rb:76:in
`build_extensions'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/source/rubygems.rb:205:in
`install'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/installer/gem_installer.rb:54:in
`install'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/worker.rb:62:in `apply_func'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/worker.rb:57:in `block in
process_queue'
<internal:kernel>:187:in `loop'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/worker.rb:54:in `process_queue'
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/worker.rb:90:in `block (2
levels) in create_threads'
An error occurred while installing pg (1.2.3), and Bundler cannot continue.
In Gemfile:
pg
Both, the mysql2 and PG DB connectors install failure are related to C API methods having been removed from Ruby. They are used by these older gems and Ruby 3.3. As we want to still test RHEL 7, now comes the point to branch out the rails-ex used in tests to install this there is https://github.com/sclorg/rails-ex/pull/169 made to address the PG failure. I am crossing my fingers that mysql2 update will just work.
Made a PR for the mysql2 failure: https://github.com/openshift/ruby-hello-world/pull/146
https://github.com/sclorg/s2i-ruby-container/pull/518 Made PR to use the new rails-ex branch
[test][test-openshift]
It occurred to me just now... ruby 3.3 will be in UBI image and we do not usually ship CentOS Stream alternatives to streams available in UBI. @pvalena @jackorp Do you have any specific reason for building the ruby-33 c8s/c9s images? If not, I would suggest disabling them by adding .exclude-files -> meaning the will not be built or tested. WDYT?
I have no strong opinion on the matter from my POV.
It occurred to me just now... ruby 3.3 will be in UBI image and we do not usually ship CentOS Stream alternatives to streams available in UBI. @pvalena @jackorp Do you have any specific reason for building the ruby-33 c8s/c9s images? If not, I would suggest disabling them by adding .exclude-files -> meaning the will not be built or tested. WDYT?
I've just added it, as it was there for Ruby 3.1 :) and I've used it for testing (with my COPR repo).
I'm fine with removing it, in case it has no consumer base. I'll add the .exclude-files
.
quay.io/fedora/s2i-base:40 is published. [test]
[test] [test-openshift]
Added .exclude-c8s and .exclude-c9s.
Fedora: libseccomp-devel
failed to install (log).
[test-all]
Fedora: libseccomp-devel failed to install (log).
I do not quite understand that, as ruby 3.1 on Fedora uses the same host compose (Fedora-Latest -> F40), and the same ansible playbook for setting up the station. And the ruby 3.1 fedora ansible setup has succeeded. I have also tried to manually install libseccomp-devel on a f40 container image and it works.
Let's see how the second round of tests goes.
Seems the latest test results from Fedora - 3.3 are relevant.
I've briefly investigated the failures:
-
Mysql gem failed to build on Fedora (log) - I don't really mind Fedora failing... I'm not sure why though. This might be / will be resolved upstream.
-
RHEL-8 with rails-ex (log) - rails-ex worked for me, with this branch: https://github.com/sclorg/rails-ex/tree/3.3 not sure where to configure this. Also, there might be other failing tests, but It's not clear from the logs (they're not very readable).
-
RHEL-9: same as RHEL-8.
Also, there might be other failing tests, but It's not clear from the logs (they're not very readable).
Agree. Would it help you disabling the -x option in bash? Most of the images we maintain have it disabled, and I personally enable it only when really needed (usually for local debugging).
Mysql gem failed to build on Fedora (log) - I don't really mind Fedora failing... I'm not sure why though. This might be / will be resolved upstream.
We could add the test to UNSTABLE_TESTS, if you think the image is still functional. The test results will then still be green even if this test fails. The upstream issue could be linked in the comments, and the tests could be removed from the UNSTABLE_TESTS once is fixed.
I've briefly investigated the failures:
1. Mysql gem failed to build on Fedora ([log](https://gist.github.com/pvalena/b614b638420464444fd10ebcb1beb701)) - I don't really mind Fedora failing... I'm not sure why though. This might be / will be resolved upstream. 2. RHEL-8 with rails-ex ([log](https://gist.github.com/pvalena/b0a789cc87b158414af2d55be40a9ae8)) - rails-ex worked for me, with this branch: https://github.com/sclorg/rails-ex/tree/3.3 not sure where to configure this. _Also, there might be other failing tests, but It's not clear from the logs (they're not very readable)._ 3. RHEL-9: same as RHEL-8.
@pvalena Regarding RHEL-8 and RHEL-9 you can take an inspiration from s2i-python-container like here: https://github.com/sclorg/s2i-python-container/blob/master/test/test-lib-python.sh#L95 Or create an issue for it, and I will fix it later on.