Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable CI for MMTk/Ruby #80

Merged
merged 1 commit into from
Aug 1, 2024
Merged

Enable CI for MMTk/Ruby #80

merged 1 commit into from
Aug 1, 2024

Conversation

eileencodes
Copy link
Collaborator

I thought we might want a cleaner PR so I've squashed everything and gotten rid of debug code in the other PR. Rel: #78

It's not passing 100% of the time, we still have some issues with panic's from the rust code, but I think we should merge this and keep working on that in the mean time.


This PR enables CI for MMTk's fork of CRuby. There are a few notable changes:

  • Adds CI builds via github actions for all mmtk plans.
  • Adds skip files for all the tests that can't run on mmtk because of implementation details (ie no garbage compaction, tracepoints, etc).
  • Fixes issues in the tests, see original PR commits for descriptions.

What's not fixed:

  • All the plans still sometimes fail. Immix, StickyImmix, and MarkSweep sometimes pass so the CRuby tests are fixed, but there are panics coming from the rust side of things that we need to fix. I've not been able to repro these on macos yet.
  • NoGC in the current state, can't pass because github actions doesn't have enough memory.

This PR enables CI for MMTk's fork of CRuby. There are a few notable
changes:

- Adds CI builds via github actions for all mmtk plans.
- Adds skip files for all the tests that can't run on mmtk because of
implementation details (ie no garbage compaction, tracepoints, etc).
- Fixes issues in the tests, see original PR commits for descriptions.

What's not fixed:

- All the plans still sometimes fail. Immix, StickyImmix, and MarkSweep
sometimes pass so the CRuby tests are fixed, but there are panics coming
from the rust side of things that we need to fix. I've not been able to
repro these on macos yet.
- NoGC in the current state, can't pass because github actions doesn't
have enough memory.

Co-authored-by: Matthew Valentine-House <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>
@eileencodes eileencodes merged commit dff44ca into mmtk:mmtk Aug 1, 2024
104 of 112 checks passed
@eileencodes eileencodes deleted the mmtk-ci-build branch August 1, 2024 14:57
wks pushed a commit that referenced this pull request Aug 22, 2024
This PR enables CI for MMTk's fork of CRuby. There are a few notable
changes:

- Adds CI builds via github actions for all mmtk plans.
- Adds skip files for all the tests that can't run on mmtk because of
implementation details (ie no garbage compaction, tracepoints, etc).
- Fixes issues in the tests, see original PR commits for descriptions.

What's not fixed:

- All the plans still sometimes fail. Immix, StickyImmix, and MarkSweep
sometimes pass so the CRuby tests are fixed, but there are panics coming
from the rust side of things that we need to fix. I've not been able to
repro these on macos yet.
- NoGC in the current state, can't pass because github actions doesn't
have enough memory.

Co-authored-by: Matthew Valentine-House <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>

Cherry-picked from: 9c68561
Original PR: #80
wks added a commit to wks/mmtk-ruby that referenced this pull request Aug 22, 2024
The Ruby repository cherry-picked mmtk/ruby#80
onto the dev/mmtk-overrides-default branch which will follow the
official master branch.  It added CI scripts and excluded some tests
using Ruby scripts in the `.excludes-mmtk/` directory.

With this change, it should be, in theory, possible to selectively run
tests runnable for MMTk without using the whitelist
`ruby-test-cases.txt` in this repo.  However, some test cases still
crashes due to bugs in the binding.  We'll still use the whitelist for
running binding tests for the mmtk-core repo, until we fix those crashes
so that `make test-all` can finish safely with MMTk enabled.  For this
reason, we are not changing the CI scripts in this repository.
wks added a commit to wks/mmtk-ruby that referenced this pull request Aug 22, 2024
The Ruby repository cherry-picked mmtk/ruby#80
onto the dev/mmtk-overrides-default branch which will follow the
official master branch.  It added a CI scripts and excluded some tests
using Ruby scripts in the `.excludes-mmtk/` directory.

We add an option to `make test-all` to take the `.excludes-mmtk`
directory into consideration.

With this change, it should be, in theory, possible to selectively run
tests runnable for MMTk without using the whitelist
`ruby-test-cases.txt` in this repo.  However, some test cases still
crashes due to bugs in the binding.  We'll still use the whitelist for
running binding tests for the mmtk-core repo, until we fix those crashes
so that `make test-all` can finish safely with MMTk enabled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant