Project

General

Profile

Actions

Misc #20923

closed

Add builds for existing shared GC's to CI

Added by eightbitraptor (Matt V-H) 27 days ago. Updated 27 days ago.

Status:
Closed
Assignee:
-
[ruby-core:120055]

Description

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]

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.

Actions

Also available in: Atom PDF

Like0
Like0Like0