Project

General

Profile

Actions

Bug #21541

open

make install is failing due to using rdoc repo

Added by MSP-Greg (Greg L) 3 days ago. Updated 1 day ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:122959]

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) 2 days 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) 2 days 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) 2 days ago

@Eregon (Benoit Daloze),

I'll look at adding a CLI check to CI.

Updated by st0012 (Stan Lo) 1 day 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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like1