Skip to content

Remove unsupported Ruby head CI job#42

Merged
NullVoxPopuli merged 1 commit into
NullVoxPopuli:masterfrom
StantonMatt:drop-ruby-head-ci
Jun 2, 2026
Merged

Remove unsupported Ruby head CI job#42
NullVoxPopuli merged 1 commit into
NullVoxPopuli:masterfrom
StantonMatt:drop-ruby-head-ci

Conversation

@StantonMatt

Copy link
Copy Markdown
Contributor

Summary

Remove the experimental Ruby head CI matrix entry.

Ruby head currently resolves to ruby 4.1.0dev, where eventmachine 1.2.7 fails while building its native extension before the test suite can run. The workflow-level result can still appear successful because of continue-on-error, but GitHub still shows the individual Ruby head job as failed on the merged commit.

This keeps CI focused on the stable supported Rubies already in the matrix: 2.3 through 2.7.

Verification

  • bundle exec rspec
  • bundle exec rubocop --cache false
  • git diff --check
  • review-fix-loop: no actionable correctness issues

Signed-off-by: Matthew Stanton <stantonmatthewj@gmail.com>
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@NullVoxPopuli

Copy link
Copy Markdown
Owner

how do we add support for ruby 4?

@StantonMatt

Copy link
Copy Markdown
Contributor Author

I dug into the red job. It does not reach this gem's test suite.

ruby/setup-ruby resolves ruby-head to ruby 4.1.0dev, then Bundler resolves:

websocket-eventmachine-client 1.3.0 -> websocket-eventmachine-base 1.2.0 -> eventmachine 1.2.7

The failure is while compiling eventmachine's native extension (rubymain.cpp, make failed, exit code 2). I also checked RubyGems: eventmachine 1.2.7 is still the latest released version, so there is not a newer released dependency we can bump to from this repo.

So I think Ruby 4 support is a separate dependency track:

  1. get eventmachine compiling on ruby-head / Ruby 4.x, or identify a maintained replacement/fork;
  2. verify websocket-eventmachine-client against that fixed dependency;
  3. add a concrete Ruby 4.x CI entry here once the dependency chain installs cleanly.

For this PR, removing ruby-head keeps the public CI signal accurate: supported Rubies 2.3-2.7 and RuboCop are green, and the red job was an upstream native-extension install failure rather than an action_cable_client test failure.

I can take the upstream eventmachine repro/fix pass if you want that tracked separately.

@NullVoxPopuli NullVoxPopuli merged commit 555819d into NullVoxPopuli:master Jun 2, 2026
7 checks passed
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.

2 participants