1414 RUSTFLAGS : " -C debuginfo=0 -D warnings"
1515 RUSTDOCFLAGS : " -D warnings"
1616 CARGO_TERM_VERBOSE : true
17- FEATURES : malloc,block,exception,catch_all,verify_message
18- UNSTABLE_FEATURES : unstable_autoreleasesafe
1917 MACOSX_DEPLOYMENT_TARGET : 10.7
2018 IPHONEOS_DEPLOYMENT_TARGET : 7.0
2119 # We only support compiling Objective-C code with clang
@@ -125,6 +123,13 @@ jobs:
125123 components : rust-src
126124 args : -Zbuild-std -Zdoctest-xcompile
127125 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 : ' '
128133
129134 env :
130135 CARGO_BUILD_TARGET : ${{ matrix.target }}
@@ -136,6 +141,8 @@ jobs:
136141 ARGS : --no-default-features --features ${{ matrix.runtime || 'apple' }} ${{ matrix.args }}
137142 # Use --no-fail-fast, except with dinghy
138143 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' }}
139146
140147 runs-on : ${{ matrix.os }}
141148
@@ -195,6 +202,10 @@ jobs:
195202 sudo apt-get update
196203 sudo apt-get -y install clang valgrind
197204
205+ - name : Install libBlocksRuntime
206+ if : contains(matrix.runtime, 'compiler-rt')
207+ run : sudo apt-get -y install libblocksruntime-dev
208+
198209 - name : Install cross compilation tools
199210 if : matrix.target == 'i686-unknown-linux-gnu'
200211 run : |
@@ -220,11 +231,11 @@ jobs:
220231 mv MacOSX${{ matrix.sdk }}.sdk $HOME/extern/sdk
221232
222233 - 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'
224235 run : sudo apt-get -y install make cmake
225236
226237 - 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'
228239 run : |
229240 wget https://github.com/gnustep/libobjc2/archive/refs/tags/v1.9.tar.gz
230241 tar -xzf v1.9.tar.gz
@@ -234,7 +245,7 @@ jobs:
234245 make install
235246
236247 - 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'
238249 run : |
239250 wget https://github.com/gnustep/tools-make/archive/refs/tags/make-2_9_0.tar.gz
240251 tar -xzf make-2_9_0.tar.gz
@@ -244,7 +255,7 @@ jobs:
244255 make install
245256
246257 - 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'
248259 run : |
249260 wget https://github.com/gnustep/libs-base/archive/refs/tags/base-1_28_0.tar.gz
250261 tar -xzf base-1_28_0.tar.gz
@@ -326,7 +337,7 @@ jobs:
326337 uses : actions-rs/cargo@v1
327338 with :
328339 command : bench
329- args : ${{ env.ARGS }} ${{ env.TESTARGS }} --bench autorelease
340+ args : ${{ env.ARGS }} ${{ env.TESTARGS }}
330341
331342 - name : Test with unstable features
332343 if : ${{ !matrix.dinghy && matrix.rust.toolchain == 'nightly' }}
0 commit comments