34
34
- test_task : check
35
35
configure : ' --enable-shared --enable-load-relative'
36
36
- test_task : check
37
+ gc_name : ' default'
38
+ shared_gc : true
39
+ configure : ' --with-shared-gc=/home/runner/ruby_gc'
40
+ - test_task : check
41
+ gc_name : ' mmtk'
37
42
shared_gc : true
38
43
configure : ' --with-shared-gc=/home/runner/ruby_gc'
39
44
- test_task : test-bundler-parallel
99
104
100
105
- name : Build shared GC
101
106
run : |
102
- echo "RUBY_GC_LIBRARY=librubygc.default.so" >> $GITHUB_ENV
103
107
make shared-gc SHARED_GC=default
104
108
if : ${{ matrix.shared_gc }}
105
109
@@ -117,6 +121,19 @@ jobs:
117
121
;;
118
122
esac
119
123
124
+ - uses : actions-rust-lang/setup-rust-toolchain@v1
125
+ - name : Build MMTK Ruby lib
126
+ run : >-
127
+ cd ../src/gc/mmtk &&
128
+ cargo build --release &&
129
+ ldd target/release/libmmtk_ruby.so
130
+ if : $${{ matrix.shared_gc && matrix.gc_name == 'mmtk' }}
131
+
132
+ - name : Build shared GC (${{ matrix.gc_name }})
133
+ run : |
134
+ make shared-gc SHARED_GC=${{ matrix.gc_name }} MMTK_BUILD=release
135
+ if : ${{ matrix.shared_gc }}
136
+
120
137
- name : Set test options for skipped tests
121
138
run : |
122
139
set -x
@@ -140,10 +157,25 @@ jobs:
140
157
${TESTS:+TESTS="$TESTS"}
141
158
${{ !contains(matrix.test_task, 'bundle') && 'RUBYOPT=-w' || '' }}
142
159
timeout-minutes : ${{ matrix.timeout || 40 }}
160
+ if : ${{ !matrix.shared_gc}}
161
+ env :
162
+ RUBY_TESTOPTS : ' -q --tty=no'
163
+ TEST_BUNDLED_GEMS_ALLOW_FAILURES : ' typeprof'
164
+ PRECHECK_BUNDLED_GEMS : ' no'
165
+
166
+ - name : make ${{ matrix.test_task }}
167
+ run : >-
168
+ $SETARCH make -s ${{ matrix.test_task }}
169
+ ${TESTS:+TESTS="$TESTS"}
170
+ ${{ !contains(matrix.test_task, 'bundle') && 'RUBYOPT=-w' || '' }}
171
+ timeout-minutes : ${{ matrix.timeout || 40 }}
172
+ if : ${{ matrix.shared_gc}}
143
173
env :
144
174
RUBY_TESTOPTS : ' -q --tty=no'
175
+ LD_LIBRARY_PATH : ' /home/runner/work/ruby/ruby/src/gc/mmtk/target/release'
145
176
TEST_BUNDLED_GEMS_ALLOW_FAILURES : ' typeprof'
146
177
PRECHECK_BUNDLED_GEMS : ' no'
178
+ RUBY_GC_LIBRARY : ' librubygc.${{ matrix.gc_name }}.so'
147
179
148
180
- name : make skipped tests
149
181
run : |
0 commit comments