[ruby-core:120055] [Ruby master Misc#20923] Add builds for existing shared GC's to CI

Issue #20923 has been reported by eightbitraptor (Matt V-H). ---------------------------------------- Misc #20923: Add builds for existing shared GC's to CI https://bugs.ruby-lang.org/issues/20923 * Author: eightbitraptor (Matt V-H) * Status: Open ---------------------------------------- ## Summary I'd like to add CI builds that exercise the GC API implementation with the currently supported known GC modules. Implemented in [[GH-#12212]](https://github.com/ruby/ruby/pull/12212) ## Background Ruby now ships with a GC API, through which GC implementations communicate with the VM. By default the existing Ruby GC is compiled into the released binaries as it always has been. Optionally, the Ruby GC can be compiled as a shared object and loaded through the API. Ruby also provides a second GC implementation based on MMTk that can also be built as a module and loaded through the API. The MMTk implementation is being developed in the `ruby/mmtk` repository and synced into `ruby/ruby` using the existing gem syncing mechanisms. Currently the Ruby CI exercises that it can build the default GC as a shared object, but it doesn't exercise whether it can load a shared GC correctly. ## Implementation The attached ticket provides Github Actions workflows that: - build Ruby with shared GC support - build both provided GC's as shared objects - run `make check` with both modular GC libraries It's important to note that this CI workflow will only test code that is directly included in the `ruby/ruby` repository. MMTk development work will be happening inside `ruby/mmtk` so these changes will be fully tested there. -- https://bugs.ruby-lang.org/

Issue #20923 has been updated by eightbitraptor (Matt V-H). @peterzhu2118 has brought to my attention that CI builds for the shared GC's, specifically MMTk were already proposed and approved as part of the discussion of #20860 providing they are non-blocking. Closing this ticket as a duplicate. ---------------------------------------- Misc #20923: Add builds for existing shared GC's to CI https://bugs.ruby-lang.org/issues/20923#change-110793 * Author: eightbitraptor (Matt V-H) * Status: Open ---------------------------------------- ## Summary I'd like to add CI builds that exercise the GC API implementation with the currently supported known GC modules. Implemented in [[GH-#12212]](https://github.com/ruby/ruby/pull/12212) ## Background Ruby now ships with a GC API, through which GC implementations communicate with the VM. By default the existing Ruby GC is compiled into the released binaries as it always has been. Optionally, the Ruby GC can be compiled as a shared object and loaded through the API. Ruby also provides a second GC implementation based on MMTk that can also be built as a module and loaded through the API. The MMTk implementation is being developed in the `ruby/mmtk` repository and synced into `ruby/ruby` using the existing gem syncing mechanisms. Currently the Ruby CI exercises that it can build the default GC as a shared object, but it doesn't exercise whether it can load a shared GC correctly. ## Implementation The attached ticket provides Github Actions workflows that: - build Ruby with shared GC support - build both provided GC's as shared objects - run `make check` with both modular GC libraries It's important to note that this CI workflow will only test code that is directly included in the `ruby/ruby` repository. MMTk development work will be happening inside `ruby/mmtk` so these changes will be fully tested there. -- https://bugs.ruby-lang.org/
participants (1)
-
eightbitraptor (Matt V-H)