Bug #21541
closedmake install is failing due to using rdoc repo
Description
Currently, ruby-dev-builder & ruby-loco are failing due to https://github.com/ruby/ruby/commit/8f6f9e88c70bbae, which changed the rdoc 'bundled gem' install from using a released gem to the repo. This results in an invalid rdoc installation.
RDoc contains *.ry and *.kpeg source files that need to be 'compiled' into *.rb files with racc and kpeg.
These *.rb files are not contained in the rdoc repo.
One possible change would be to have rdoc include the compiled *.rb files in its repo. Puma has a similar issue with ragel files. A GHA workflow (https://github.com/puma/puma/blob/master/.github/workflows/ragel.yml) checks that the compiled *.c file matches its respective *.rl source file.
Otherwise, a bit of code would be required in Ruby (and install of kpeg), or, rdoc must be installed from a released gem.
Updated by Eregon (Benoit Daloze) 3 months ago
@MSP-Greg Could you make a PR adding a CI job to ruby/ruby that make install + run that cli_test.rb, like in https://github.com/ruby/ruby-dev-builder/actions/runs/16946820401/job/48029817265 ?
Then we should catch these issues directly in ruby/ruby which is better.
There is maybe/probably already a CI workflow doing make install, in that case just alter that one to run that extra test.
I think it should be generally agreed that executables shipped with Ruby should work and are worth checking in CI.
Maybe that test could even be part of ruby/spec (and potentially skipped if not make install-ed if that's a problem), but doesn't have to be. Could also be part of test-all under test/ruby or so.
FWIW we already have a similar test in truffleruby: https://github.com/oracle/truffleruby/blob/6e50bca7441b728207c2fb2bfaa51ae93830f475/spec/truffle/launcher_spec.rb#L20-L35
Updated by Eregon (Benoit Daloze) 3 months ago
One idea: probably I should add failures from ruby/ruby-dev-builder as notification to the CRuby Slack in the CI alerts channel, that might be a good way to notice this kind of problem early.
When ruby/ruby-dev-builder fails, in most cases it's an issue in ruby/ruby.
Updated by MSP-Greg (Greg L) 3 months ago
I'll look at adding a CLI check to CI.
Updated by st0012 (Stan Lo) 3 months ago
ยท Edited
I think the best solution is to make sure rdoc always commit the generated files with CI checks verifying that they're up to date. prism,rbs, and debug (tho it's for readme) already do this and I don't see much issues caused by it.
Update: prism still doesn't commit those generated files. I misremembered.
Updated by mame (Yusuke Endoh) 2 months ago
- Related to Misc #21458: Test 'make install'? added
Updated by mame (Yusuke Endoh) 2 months ago
- Status changed from Open to Closed
I think the issue itself is already fixed. Let's discuss adding a test for make install in #21458