@@ -93,48 +93,25 @@ jobs:
9393 path : /tmp/*.asm
9494
9595 # ── Build io-event extension and run tests ─────────────────────────────
96- - name : Build io-event extension (FIXED Ruby)
96+ - name : Build + test all variants
9797 run : |
98- export PATH=$HOME/.rubies/ruby-fixed/bin:$PATH
99- gem install sus --no-document
100- ruby ext/io/event/extconf.rb
101- make -C ext/io/event
102-
103- - name : Run worker_pool test with FIXED Ruby
104- id : test_fixed
105- run : |
106- export PATH=$HOME/.rubies/ruby-fixed/bin:$PATH
107- ruby -I lib -rsus test/io/event/worker_pool.rb 2>&1 | tail -5
108- echo "exit:$?"
109- continue-on-error : true
110-
111- - name : Build io-event extension (BUGGY Ruby)
112- run : |
113- export PATH=$HOME/.rubies/ruby-buggy/bin:$PATH
114- gem install sus --no-document
115- ruby ext/io/event/extconf.rb
116- make -C ext/io/event
117-
118- - name : Run worker_pool test with BUGGY Ruby (expect crash)
119- id : test_buggy
120- run : |
121- export PATH=$HOME/.rubies/ruby-buggy/bin:$PATH
122- (ruby -I lib -rsus test/io/event/worker_pool.rb 2>&1 | tail -5; echo "exit:$?") || true
123- continue-on-error : true
124-
125- - name : Build io-event extension (CASE_C Ruby)
126- run : |
127- export PATH=$HOME/.rubies/ruby-caseC/bin:$PATH
128- gem install sus --no-document
129- ruby ext/io/event/extconf.rb
130- make -C ext/io/event
131-
132- - name : Run worker_pool test with CASE_C Ruby (does O0 fix the crash?)
133- id : test_caseC
134- run : |
135- export PATH=$HOME/.rubies/ruby-caseC/bin:$PATH
136- (ruby -I lib -rsus test/io/event/worker_pool.rb 2>&1 | tail -5; echo "exit:$?") || true
137- continue-on-error : true
98+ for variant in fixed buggy caseC; do
99+ echo "=== Building io-event for ruby-${variant} ==="
100+ export PATH=$HOME/.rubies/ruby-${variant}/bin:$PATH
101+ gem install sus --no-document -q
102+
103+ mkdir -p /tmp/ext-${variant}
104+ cp -r ext/* /tmp/ext-${variant}/
105+ cd /tmp/ext-${variant}
106+ ruby $GITHUB_WORKSPACE/ext/extconf.rb
107+ make -j$(nproc) 2>&1 | tail -3
108+ cd $GITHUB_WORKSPACE
109+
110+ echo "=== Running worker_pool test with ruby-${variant} ==="
111+ (timeout 60 ruby -I lib -I /tmp/ext-${variant} -rsus \
112+ test/io/event/worker_pool.rb 2>&1 | tail -10; echo "exit_${variant}:$?") || true
113+ echo "--- end ${variant} ---"
114+ done
138115
139116 - name : Summary
140117 if : always()
0 commit comments