Skip to content

Commit bc59aae

Browse files
Test rb_vm_rewind_cfp fix for blocking_operation_wait
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent fc95f9a commit bc59aae

1 file changed

Lines changed: 4 additions & 68 deletions

File tree

.github/workflows/test-ruby-gc-bug.yaml

Lines changed: 4 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
ruby bison libyaml-dev libgdbm-dev libreadline-dev libncurses5-dev \
2323
liburing-dev autoconf automake gcc make binutils
2424
25-
- name: Clone Ruby (ioquatix/ruby fix/blocking-operation-wait-exception-safety)
25+
- name: Clone Ruby (with rb_vm_rewind_cfp fix)
2626
uses: actions/checkout@v4
2727
with:
28-
repository: ioquatix/ruby
28+
repository: samuel-williams-shopify/ruby
2929
ref: fix/blocking-operation-wait-exception-safety
3030
path: ruby-src
3131

@@ -38,77 +38,13 @@ jobs:
3838
make -j$(nproc) && make install
3939
$HOME/.rubies/ruby-fix/bin/ruby --version
4040
41-
- name: Install gems + build io-event
41+
- name: Install gems
4242
run: |
4343
export PATH=$HOME/.rubies/ruby-fix/bin:$PATH
4444
gem install bundler --no-document
4545
bundle install
46-
bundle exec rake build 2>/dev/null || \
47-
(cd ext && ruby extconf.rb && make)
4846
4947
- name: Run io-event tests (capture worker_pool logs)
5048
run: |
5149
export PATH=$HOME/.rubies/ruby-fix/bin:$PATH
52-
bundle exec bake test 2>&1 | tee /tmp/test-output.txt
53-
echo "--- worker_pool log lines ---"
54-
grep '\[worker_pool\]' /tmp/test-output.txt || echo "(no worker_pool log lines)"
55-
56-
- name: Upload test output
57-
uses: actions/upload-artifact@v4
58-
if: always()
59-
with:
60-
name: test-output-with-logging
61-
path: /tmp/test-output.txt
62-
63-
verify-fix-main:
64-
name: "Fix Ruby + io-event main (unmodified)"
65-
runs-on: ubuntu-24.04
66-
67-
steps:
68-
- name: Checkout io-event main
69-
uses: actions/checkout@v4
70-
with:
71-
repository: socketry/io-event
72-
ref: main
73-
74-
- name: Install build dependencies
75-
run: |
76-
sudo apt-get update -q
77-
sudo apt-get install -y --no-install-recommends \
78-
ruby bison libyaml-dev libgdbm-dev libreadline-dev libncurses5-dev \
79-
liburing-dev autoconf automake gcc make binutils
80-
81-
- name: Clone Ruby (ioquatix/ruby fix/blocking-operation-wait-exception-safety)
82-
uses: actions/checkout@v4
83-
with:
84-
repository: ioquatix/ruby
85-
ref: fix/blocking-operation-wait-exception-safety
86-
path: ruby-src
87-
88-
- name: Build + install Ruby
89-
working-directory: ruby-src
90-
run: |
91-
./autogen.sh
92-
./configure --prefix=$HOME/.rubies/ruby-fix --enable-shared \
93-
--disable-install-doc cppflags="-DENABLE_PATH_CHECK=0"
94-
make -j$(nproc) && make install
95-
$HOME/.rubies/ruby-fix/bin/ruby --version
96-
97-
- name: Install gems + build io-event
98-
run: |
99-
export PATH=$HOME/.rubies/ruby-fix/bin:$PATH
100-
gem install bundler --no-document
101-
bundle install
102-
bundle exec bake build
103-
104-
- name: Run io-event tests
105-
run: |
106-
export PATH=$HOME/.rubies/ruby-fix/bin:$PATH
107-
bundle exec bake test 2>&1 | tee /tmp/test-output-main.txt
108-
109-
- name: Upload test output
110-
uses: actions/upload-artifact@v4
111-
if: always()
112-
with:
113-
name: test-output-main
114-
path: /tmp/test-output-main.txt
50+
bundle exec bake test

0 commit comments

Comments
 (0)