14
14
RUSTFLAGS : " -C debuginfo=0 -D warnings"
15
15
RUSTDOCFLAGS : " -D warnings"
16
16
CARGO_TERM_VERBOSE : true
17
- FEATURES : malloc,block,exception,catch_all,verify_message
18
- UNSTABLE_FEATURES : unstable-autoreleasesafe
19
17
MACOSX_DEPLOYMENT_TARGET : 10.7
20
18
IPHONEOS_DEPLOYMENT_TARGET : 7.0
21
19
# We only support compiling Objective-C code with clang
@@ -125,6 +123,13 @@ jobs:
125
123
components : rust-src
126
124
args : -Zbuild-std -Zdoctest-xcompile
127
125
test-args : --no-run
126
+ - name : Test Compiler-RT
127
+ os : ubuntu-latest
128
+ target : x86_64-unknown-linux-gnu
129
+ runtime : compiler-rt
130
+ args : -p block-sys -p block2
131
+ features : ' '
132
+ unstable-features : ' '
128
133
129
134
env :
130
135
CARGO_BUILD_TARGET : ${{ matrix.target }}
@@ -136,6 +141,8 @@ jobs:
136
141
ARGS : --no-default-features --features ${{ matrix.runtime || 'apple' }} ${{ matrix.args }}
137
142
# Use --no-fail-fast, except with dinghy
138
143
TESTARGS : ${{ matrix.dinghy && ' ' || '--no-fail-fast' }} ${{ matrix.test-args }}
144
+ FEATURES : ${{ matrix.features || 'malloc,block,exception,catch_all,verify_message' }}
145
+ UNSTABLE_FEATURES : ${{ matrix.unstable-features || 'unstable-autoreleasesafe' }}
139
146
140
147
runs-on : ${{ matrix.os }}
141
148
@@ -195,6 +202,10 @@ jobs:
195
202
sudo apt-get update
196
203
sudo apt-get -y install clang valgrind
197
204
205
+ - name : Install libBlocksRuntime
206
+ if : contains(matrix.runtime, 'compiler-rt')
207
+ run : sudo apt-get -y install libblocksruntime-dev
208
+
198
209
- name : Install cross compilation tools
199
210
if : matrix.target == 'i686-unknown-linux-gnu'
200
211
run : |
@@ -220,11 +231,11 @@ jobs:
220
231
mv MacOSX${{ matrix.sdk }}.sdk $HOME/extern/sdk
221
232
222
233
- name : Install Make and Cmake
223
- if : contains(matrix.os , 'ubuntu ') && steps.extern-cache.outputs.cache-hit != 'true'
234
+ if : contains(matrix.runtime , 'gnustep ') && steps.extern-cache.outputs.cache-hit != 'true'
224
235
run : sudo apt-get -y install make cmake
225
236
226
237
- name : Install GNUStep libobjc2 v1.9
227
- if : contains(matrix.os , 'ubuntu ') && steps.extern-cache.outputs.cache-hit != 'true'
238
+ if : contains(matrix.runtime , 'gnustep ') && steps.extern-cache.outputs.cache-hit != 'true'
228
239
run : |
229
240
wget https://github.com/gnustep/libobjc2/archive/refs/tags/v1.9.tar.gz
230
241
tar -xzf v1.9.tar.gz
@@ -234,7 +245,7 @@ jobs:
234
245
make install
235
246
236
247
- name : Install GNUStep make
237
- if : contains(matrix.os , 'ubuntu ') && steps.extern-cache.outputs.cache-hit != 'true'
248
+ if : contains(matrix.runtime , 'gnustep ') && steps.extern-cache.outputs.cache-hit != 'true'
238
249
run : |
239
250
wget https://github.com/gnustep/tools-make/archive/refs/tags/make-2_9_0.tar.gz
240
251
tar -xzf make-2_9_0.tar.gz
@@ -244,7 +255,7 @@ jobs:
244
255
make install
245
256
246
257
- name : Install GNUStep-Base
247
- if : contains(matrix.os , 'ubuntu ') && steps.extern-cache.outputs.cache-hit != 'true'
258
+ if : contains(matrix.runtime , 'gnustep ') && steps.extern-cache.outputs.cache-hit != 'true'
248
259
run : |
249
260
wget https://github.com/gnustep/libs-base/archive/refs/tags/base-1_28_0.tar.gz
250
261
tar -xzf base-1_28_0.tar.gz
@@ -326,7 +337,7 @@ jobs:
326
337
uses : actions-rs/cargo@v1
327
338
with :
328
339
command : bench
329
- args : ${{ env.ARGS }} ${{ env.TESTARGS }} --bench autorelease
340
+ args : ${{ env.ARGS }} ${{ env.TESTARGS }}
330
341
331
342
- name : Test with unstable features
332
343
if : ${{ !matrix.dinghy && matrix.rust.toolchain == 'nightly' }}
0 commit comments